一、XML文件操作中与.Net中对应的类
微软的.NET框架在System.xml命名空间提供了一系列的类用于Dom的实现。
以下给出XML文档的组成部分对应.NET中的类:
XML文档组成部分 | 对应.net中的类 |
处理指令 | XmlProcessingInstruction |
专指元素节点 | XmlElement |
属性 | XmlAttribute |
文本节点 | XmlText |
节点 | XmlNode |
文档 | XmlDocument |
XmlWriter 对象的特性 | XmlWriterSettings |
注释 | XmlComment |
二、Xml文档各种处理类
1、XmlNode节点类:包括元素节点、文本节点、属性节点等等。
这个类可以说是.Net Xml操作的根基,大部分Xml操作类都继承自此类。很多类都重写了该类的方法等。
这个类成员属性,方法都很多,但是都是非常简单的,无非是对Xml文档的添加,修改,查询,保存等操作。因此,直接通过看MSDN就足够:
XmlNode:http://msdn.microsoft.com/zh-cn/library/system.xml.xmlnode_members(v=vs.80).aspx
另外,基本上,所有类都继承于此类,都大同小异。
2、XmlElement继承了XmlNode,专指元素节点。
XmlElement的特点:
- XmlElement继承自XmlLinkedNode又继承自XmlNode类。
- XmlElement专指元素节点,Xml节点有多种类型:属性节点、注释节点、文本节点、元素节点等。也就是XmlNode是这多种节点的统称。
- XmlElement是具现类,可以直接实例化,而XmlNode是抽象类,必须通过XmlDocument的某些方法返回。
本处仅仅写个最简单的示例:
示例Xml文档:
<?xml version="1.0" encoding="gb2312" ?> <Article> <author age="30">张三</author> <length>12000</length> <price>42</price> </Article>
简单示例:
static void Main(string[] args) { //XmlDocument XmlDocument doc = new XmlDocument(); doc.Load(@"D:\Articles.xml"); //XmlNode出场 XmlNode node = doc.SelectSingleNode("Article"); string author = node.FirstChild.InnerText; Console.WriteLine(author); //输出 张三 //XmlElement出场 XmlElement element = doc.DocumentElement; //根元素节点 Console.WriteLine(element.Name); //XmlAttribute出场 XmlAttribute attribute = element.FirstChild.Attributes[0]; //输出30 Console.WriteLine(attribute.Value); //XmlComment出场 XmlComment comment = doc.CreateComment("这是字数!"); element.PrependChild(comment); doc.Save(@"D:\123123.xml"); Console.ReadKey(); }