C#中对XML操作 <第二篇>

2021-02-02 12:16

阅读:730

一、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>12000length>
  price>42price>
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();
        }
技术图片

 


评论


亲,登录后才可以留言!