C#中对XML操作 第二篇

时间:2021-08-18 00:49:14

一、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:(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(); }