这里我来为您介绍" C#中XmlTextWriter读写xml文件详细介绍"的完整攻略。
1. XmlTextWriter概述
XmlTextWriter类是System.Xml命名空间中的一个类,它用于将XML文档以流的形式写入输出流。使用XmlTextWriter可以很方便地生成XML文档。
2. XmlTextWriter使用
2.1 创建XmlTextWriter对象
创建XmlTextWriter对象需要传入两个参数,一个是System.IO.TextWriter对象,代表输出流,可以是FileStream、MemoryStream、StreamWriter等;另一个是字符编码,通常使用UTF8编码。
示例代码:
XmlTextWriter writer = new XmlTextWriter("D:\\test.xml", Encoding.UTF8);
2.2 写入XML文档
使用XmlTextWriter可以很方便地写入XML文档,可以通过调用WriteStartDocument、WriteStartElement、WriteAttributeString、WriteString、WriteEndElement、WriteEndDocument等方法来构建XML文档。
-
WriteStartDocument方法用于写入XML文档的声明,参数为true表示带有XML声明,否则不带。
-
WriteStartElement方法用于写入开始标签,写入结束标签使用WriteEndElement方法。
-
WriteAttributeString方法用于写入元素属性,参数为属性名和属性值。
-
WriteString方法用于写入元素文本内容。
-
WriteEndDocument方法用于结束写入XML文档。
示例代码:
writer.WriteStartDocument(true);
writer.WriteStartElement("bookstore");
writer.WriteStartElement("book");
writer.WriteAttributeString("category", "children");
writer.WriteElementString("title", "Harry Potter");
writer.WriteElementString("author", "J.K. Rowling");
writer.WriteElementString("price", "20.00");
writer.WriteEndElement();
writer.WriteStartElement("book");
writer.WriteAttributeString("category", "web");
writer.WriteElementString("title", "ASP.NET");
writer.WriteElementString("author", "Tom");
writer.WriteElementString("price", "30.00");
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteEndDocument();
执行以上代码后,会在D盘下生成一个名为test.xml的XML文档,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book category="children">
<title>Harry Potter</title>
<author>J.K. Rowling</author>
<price>20.00</price>
</book>
<book category="web">
<title>ASP.NET</title>
<author>Tom</author>
<price>30.00</price>
</book>
</bookstore>
3. 总结
通过本文的介绍,我们可以看出,使用XmlTextWriter可以非常方便地生成XML文档。同时,我们也可以通过一些基本方法实现复杂的XML文档的写入。
示例2:读取xml文件
XmlDocument doc = new XmlDocument();
doc.Load("D:\\test.xml");
XmlElement root = doc.DocumentElement;
XmlNodeList nodes = root.SelectNodes("//book");
foreach (XmlNode node in nodes)
{
string category = node.Attributes["category"].Value;
string title = node.SelectSingleNode("title").InnerText;
string author = node.SelectSingleNode("author").InnerText;
string price = node.SelectSingleNode("price").InnerText;
Console.WriteLine("category:{0}, title:{1}, author:{2}, price:{3}", category, title, author, price);
}
以上代码会输出以下内容:
category:children, title:Harry Potter, author:J.K. Rowling, price:20.00
category:web, title:ASP.NET, author:Tom, price:30.00
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#中XmlTextWriter读写xml文件详细介绍 - Python技术站