• 第二篇 -- C#中对XML操作


    一、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();
            }
    复制代码

    出处:https://www.cnblogs.com/kissdodog/archive/2013/02/24/2924227.html

  • 相关阅读:
    MVC模式-----struts2框架(2)
    MVC模式-----struts2框架
    html的<h>标签
    jsp脚本元素
    LeetCode "Paint House"
    LeetCode "Longest Substring with At Most Two Distinct Characters"
    LeetCode "Graph Valid Tree"
    LeetCode "Shortest Word Distance"
    LeetCode "Verify Preorder Sequence in Binary Search Tree"
    LeetCode "Binary Tree Upside Down"
  • 原文地址:https://www.cnblogs.com/mq0036/p/11556698.html
Copyright © 2020-2023  润新知