- XMLWriter 和 XMLReader
- 一、定义
- 二、XMLWriter
- 三、XMLReader
XMLWriter 和 XMLReader
一、定义
XMLWriter表示一个写入器,该写入器提供一种快速、非缓存和只进方式以生成包含 XML 数据的流或文件。
XMLReader表示提供对 XML 数据进行快速、非缓存、只进访问的读取器。
命名空间:
System.Xml
程序集:
System.Xml(System.Xml.dll 中)
二、XMLWriter
XMLWriter 创建 XML 声明
//引入命名空间
using System.Xml;
XmlTextWriter textWriter = new XmlTextWriter(@"d:\xmlRead.xml",Encoding.UTF8);
textWriter.WriteStartDocument();
XMLWriter 创建节点
textWriter.WriteStartElement(“root");
textWriter.WriteStartElement(“Child");
// 为元素加入属性
textWriter.WriteElementString(“SubChild”, “这是元素内容");
textWriter.WriteEndElement();
textWriter.WriteEndElement();
XMLWriter为元素加入属性
textWriter.WriteStartElement("Child");
textWriter.WriteAttributeString("属性A","A");
textWriter.WriteAttributeString("属性B","B");
textWriter.WriteEndElement();
XMLWrite写入注释
textWriter.WriteComment(“注释内容");
textWriter.WriteCData(“<strong>CData 内容</strong>");
XMLWrite创建XML 要点
XMLWrite 子节点 和属性 必须在WriteEndElement()方法前。
开始写入,调用WriteStartDocument方法。
写入结束,调用WriteEndDocument方法,和Close方法,关闭流。
三、XMLReader
XmlReader读取XML
//读取一个外部XML
XmlTextReader textReader = new XmlTextReader(@"d:\xmlRead.xml");
XmlReader读取节点信息
while (textReader.Read())
{
if (textReader.NodeType == XmlNodeType.Element)
{
Console.WriteLine("Name:" + textReader.Name);
Console.WriteLine("Value:" + textReader.ReadString());
}
}
XmlReader读取属性
//方式一:取得当前Reader元素的指定名称的属性值;
textReader.GetAttribute(“属性A”);
//方式二,获取当前Reader元素的属性,将Reader移动到当前属性;
for (int i = 0; i < textReader.AttributeCount; i++)
{
textReader.MoveToAttribute(i);
Console.WriteLine("AttributeName:" + textReader.Name);
Console.WriteLine("AttributeValue:" + textReader.Value);
}
?