XML簡述
XML用於描述數據,是當前處理結構化文檔信息的有力工具。與操作系統編程語言的開發平台無關,可以實現不同系統之間的數據交互。
結構
1 <?xml version="1.0" encoding="UTF-8" ?> 2 <people> 3 <Name>姓名</Name> 4 <Sex>性別</Sex> 5 </people>
代碼中第一行是XML聲明,它一般在XML文檔的第一行。它由兩個部分組成:
version:文檔符合XML1.0規范。
encoding:文檔字符編碼,默認為“UTF-8”。
<!--注釋-->為注釋語法。
XML語言有3個特點:
1.XML中的每對標記通常被稱為節點,他們是成對出現而且必須成對出現的,用來描述這個節點存儲的內容。在節點中存儲該節點的信息。
2.XML中用於描述數據的各個節點可以自由橫向擴展和縱向擴展,即可以向下擴展也可以向內擴展(嵌套)。
3.XML文件中的節點嚴格區分大小寫。例:<Name>名字</Name>和<name>名字</name>這兩個節點內容相同,但節點名稱不一樣,即是兩個節點。
在C#中操作XML文件
在C#中操作並解析XML文件分為6個步驟
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 using System.Xml; //1.引入命名空間 7 8 namespace Demo 9 { 10 class Program 11 { 12 static void Main(string[] args) 13 { 14 XmlDocument doc = new XmlDocument(); //2.創建XML文件對象 15 doc.Load("Path.xml"); //3.從指定路徑讀取整個XML文件的結構 16 XmlNode nodes = doc.DocumentElement; //4.獲取XML文件的根節點 17 foreach (XmlNode node in nodes.ChildNodes) //5.遍歷根節點的子節點 18 { 19 string name = node["name"].InnerText; //6.獲取XML文件節點中的內容 20 string sex = node["sex"].InnerText; 21 Console.WriteLine("姓名:{0},性別:{1}", name, sex); 22 } 23 } 24 } 25 }
XmlDocument對象:
表示整個XML文檔,它使用Load方法將指定的XML文件讀入XmlDocument對象,Load方法的參數是XML文檔的路徑。
DocumentElement屬性用於獲取根節點。
XmlNode對象:
XmlNode對象表示一個XML中的節點。
ChildNodes屬性用來獲取指定節點的所有子節點。
Name屬性可以獲取當前節點的名稱。 例:<name>名字</name>獲取name。
Inner Text屬性用來獲取當前節點的值。 例:<name>名字</name>獲取名字。
Attributes屬性可以獲取當前節點的特性。 例:<name type="dog">名字</name> Attributes["type"]獲取dog。
注意:ChildNodes屬性表示當前節點的所有子節點,這里的所有子節點表示的是當前子節點的集合。
好了,將上面說的對象和屬性和方法隨便用着搞一下,就能操作並解析XML文件了。