dj音乐网站建设开发,只做网站不做app,网站流量查询平台,wordpress function.php 在哪里文章目录 1 使用XmlDocument创建XML文档2 使用XmlTextWriter写XML文档3 使用LINQ to XML 的XDocument类4 小结 本文介绍了在winform中使用C#开发语言来创建XML文档的三种方式#xff0c;并介绍了各自的优缺点。 方法1是使用
XmlDocument创建XML文档#xff0c;方法2是使用
… 文章目录 1 使用XmlDocument创建XML文档2 使用XmlTextWriter写XML文档3 使用LINQ to XML 的XDocument类4 小结 本文介绍了在winform中使用C#开发语言来创建XML文档的三种方式并介绍了各自的优缺点。 方法1是使用
XmlDocument创建XML文档方法2是使用
XmlTextWriter编写XML文档方法3是使用
LINQ to XML的Document类生成XML文档。 1 使用XmlDocument创建XML文档
使用XmlDocument.CreateXmlDeclaration来声明头部信息用XmlDocument.CreateElement创建元素 把创建的头部信息还有元素添加到文档中最后保存。元素之间有同级关系也有父子关系可以通过设定的Parent来决定两者之间的联系。 CreateXmlDeclaration(string version, string encoding, string standalone) version: 版本必须写 1.0 encoding: 设置保存到文件的编码方式默认是UTF-8 stangalone: 该值必须是“yes”或“no”.如果是null或String.empty保存的时候不在XML声明上写这个特性。 //创建一个空的XMLXmlDocument document new XmlDocument();//声明头部XmlDeclaration dec document.CreateXmlDeclaration(1.0, utf-8, yes);document.AppendChild(dec);//创建根节点XmlElement root document.CreateElement(Citys);document.AppendChild(root);//创建父元素XmlElement childEle1 document.CreateElement(Province);//属性childEle1.SetAttribute(level, 发达);//中间文本childEle1.InnerText 广东;//添加到根节点root.AppendChild(childEle1);//创建子元素XmlElement subchildEle1 document.CreateElement(City);//属性subchildEle1.SetAttribute(level, 省会);//中间文本subchildEle1.InnerText 广州;//添加到父结点childEle1.AppendChild(subchildEle1);//创建子元素XmlElement subchildEle2 document.CreateElement(City);subchildEle2.SetAttribute(level, 一线);//中间文本subchildEle2.InnerText 深圳;//添加到父结点childEle1.AppendChild(subchildEle2);//创建父元素XmlElement childEle2 document.CreateElement(Province);//属性childEle2.SetAttribute(level, 发展);//中间文本childEle2.InnerText 广西;//添加到根节点root.AppendChild(childEle2);//创建子元素XmlElement subchildEle3 document.CreateElement(City);subchildEle3.SetAttribute(level, 三线);//中间文本subchildEle3.InnerText 桂林;//添加到父结点childEle2.AppendChild(subchildEle3);//保存文档document.Save(D:\temp.xml);
运行结果
?xml version1.0 encodingutf-8 standaloneyes?
CitysProvince level发达广东City level省会广州/CityCity level一线深圳/City/ProvinceProvince level发展广西City level三线桂林/City/Province
/Citys扩展添加注释和字符数字段 //评论注释XmlComment comment document.CreateComment(这是一份关于城市省份的文件);root.AppendChild(comment);//字符数字段XmlCDataSection CData;CData document.CreateCDataSection(All Jane Austen novels 25% off starting 3/23!);childEle2.AppendChild(CData);
运行结果
?xml version1.0 encodingutf-8 standaloneyes?
Citys!--这是一份关于城市省份的文件--Province level发达广东City level省会广州/CityCity level一线深圳/City
/ProvinceProvince level发展广西![CDATA[All Jane Austen novels 25% off starting 3/23!]]City level三线桂林/City/Province
/Citys2 使用XmlTextWriter写XML文档
在XmlTextWriter 类中有一些函数是成对出现的比如WriteStartDocument和WriteEndDocument; 元素WriteStartElement和WriteEndElement用来标注一个元素的开始和结束有很强的对应性。 //创建XmlTextWriter对象XmlTextWriter textWriter new XmlTextWriter(D:\writer.xml, Encoding.UTF8);//xml文档开始textWriter.WriteStartDocument();//写根节点textWriter.WriteStartElement(Citys);//注释textWriter.WriteComment(这是使用XmlTextWriter写的);textWriter.WriteStartElement(Province);textWriter.WriteAttributeString(null, level, null, 发展);textWriter.WriteString(广西);//添加子项textWriter.WriteStartElement(city);textWriter.WriteAttributeString(null, level, null, 省会);textWriter.WriteString(南宁);textWriter.WriteEndElement();textWriter.WriteStartElement(city);textWriter.WriteAttributeString(null, level, null, 旅游);textWriter.WriteString(桂林);textWriter.WriteEndElement();//结束Province广西textWriter.WriteEndElement();textWriter.WriteElementString(Province,广东);//结束整个文档textWriter.WriteEndDocument();textWriter.Close();运行结果
?xml version1.0 encodingutf-8?
Citys
!--这是使用XmlTextWriter写的--
Province level发展广西city level省会南宁/citycity level旅游桂林/city
/Province
Province广东/Province
/Citys3 使用LINQ to XML 的XDocument类
使用到的命名空间
using System.Xml;
using System.Xml.Linq;使用LinqTo Xml就很方便XML文档层级结构多的话写代码时要注意缩进方便阅读示例代码 XDocument document new XDocument(new XElement(Citys, new XComment(这是使用Ling写的XML),new XElement(Province, new XText(广西), new XElement(city, new XText(南宁),new XAttribute(level, 省会)),new XElement(city, new XText(桂林), new XAttribute(level, 旅游))),new XElement(Province, new XText(广东),new XElement(city, new XText(广州), new XAttribute(level, 省会)),new XElement(city, new XText(深圳), new XAttribute(level, 一线)))) );document.Save(D:\Ling.xml);运行结果
?xml version1.0 encodingutf-8?
Citys!--这是使用Ling写的XML--Province广西city level省会南宁/citycity level旅游桂林/city/ProvinceProvince广东city level省会广州/citycity level一线深圳/city/Province
/Citys4 小结 1 使用XmlDocument创建XML文档创建的节点指定父节点就构成层级关系最后将最上层的节点添加到Document中保存即可。 2 使用XmlTextWriter编写XML文档时该类有很强元素开始和结束的对应关系l例如WriteStartElement和WriteEndElement通过这种嵌套关系来建立元素之间的层级。 3 使用LINQ to XML构建XML文档时很便利快捷有种所见即所得的既视感虽然也是通过嵌套建立的层级关系但又不像XmlTextWriter的严格接口要求。如果层级比较多需要规范的代码缩进。