XMLWriter 和 XMLReader

一、定义

XMLWriter表示一个写入器,该写入器提供一种快速、非缓存和只进方式以生成包含 XML 数据的流或文件。

XMLReader表示提供对 XML 数据进行快速、非缓存、只进访问的读取器。

  1. 命名空间:
  2. System.Xml
  3. 程序集:
  4. System.XmlSystem.Xml.dll 中)

二、XMLWriter

XMLWriter 创建 XML 声明

  1. //引入命名空间
  2. using System.Xml;
  3. XmlTextWriter textWriter = new XmlTextWriter(@"d:\xmlRead.xml",Encoding.UTF8);
  4. textWriter.WriteStartDocument();

XMLWriter 创建节点

  1. textWriter.WriteStartElement(“root");
  2. textWriter.WriteStartElement(“Child");
  3. // 为元素加入属性
  4. textWriter.WriteElementString(“SubChild”, “这是元素内容");
  5. textWriter.WriteEndElement();
  6. textWriter.WriteEndElement();

XMLWriter为元素加入属性

  1. textWriter.WriteStartElement("Child");
  2. textWriter.WriteAttributeString("属性A","A");
  3. textWriter.WriteAttributeString("属性B","B");
  4. textWriter.WriteEndElement();

XMLWrite写入注释

  1. textWriter.WriteComment(“注释内容");
  2. textWriter.WriteCData(“<strong>CData 内容</strong>");

XMLWrite创建XML 要点

  1. XMLWrite 子节点 和属性 必须在WriteEndElement()方法前。
  2. 开始写入,调用WriteStartDocument方法。
  3. 写入结束,调用WriteEndDocument方法,和Close方法,关闭流。

三、XMLReader

XmlReader读取XML

  1. //读取一个外部XML
  2. XmlTextReader textReader = new XmlTextReader(@"d:\xmlRead.xml");

XmlReader读取节点信息

  1. while (textReader.Read())
  2. {
  3. if (textReader.NodeType == XmlNodeType.Element)
  4. {
  5. Console.WriteLine("Name:" + textReader.Name);
  6. Console.WriteLine("Value:" + textReader.ReadString());
  7. }
  8. }

XmlReader读取属性

  1. //方式一:取得当前Reader元素的指定名称的属性值;
  2. textReader.GetAttribute(“属性A”);
  3. //方式二,获取当前Reader元素的属性,将Reader移动到当前属性;
  4. for (int i = 0; i < textReader.AttributeCount; i++)
  5. {
  6. textReader.MoveToAttribute(i);
  7. Console.WriteLine("AttributeName:" + textReader.Name);
  8. Console.WriteLine("AttributeValue:" + textReader.Value);
  9. }

?