第二篇 -- 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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM