文章目錄
- 開啟一個XML
- 根據Xpath選擇指定節點
- 訪問XmlNode
- XPath基本文法
- xml查詢類及其測試
操作XML檔案需要引用System.Xml命名空間。
using System.Xml
開啟一個XML
一般,根據xml檔案名稱,將其直接Load到記憶體中來:XmlDocument _doc = new XmlDocument();
_doc.Load( _fileName );
根據Xpath選擇指定節點
使用SelectSingleNode方法,選擇匹配的第一個節點:xmlPageNode = _doc.SelectSingleNode( string.Format( "//Resource[@tag='{0}']", tag ) );
訪問XmlNode
根據需要,訪問XmlNode的屬性,例如(Attributes 或者 InnerText )。
XPath基本文法
通過例子,說明Xpath的基本文法。例如存在以下Xml檔案:<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book>
<title lang="eng">Harry Potter</title>
<price>29.99</price>
</book>
<book>
<title lang="eng">Learning XML</title>
<price>39.95</price>
</book>
</bookstore>
以下列出一些Xpath運算式,以及對應的選擇結果:
| XPath運算式 |
選擇結果 |
| bookstore |
選擇bookstore元素的所有子節點 |
| /bookstore |
選擇bookstore跟節點 |
| bookstore/book |
選擇bookstore節點的所有子節點 |
| //book |
選擇所有book節點,無論它位於文檔的什麼位置 |
| bookstore//book |
選擇bookstore節點的後代中所有book元素 |
| //@lang |
選擇所有名為lang的屬性 |
| /bookstore/book[1] |
選擇bookstore節點的第一個book節點 |
| //title[@lang] |
選擇所有包含名為lang屬性的title節點 |
| //title[@lang='eng'] |
選擇所有包含lang屬性為‘eng’的title節點 |
| /bookstore/book[price>35.00] |
選擇所有price元素值大於35,bookstore的book子節點 |
| /bookstore/* |
選擇bookstore節點的所有子節點 |
| //title[@*] |
選擇包含屬性的所有title節點 |
xml查詢類及其測試
程式在連結的檔案中:
http://files.cnblogs.com/suchangyu/xmlAccess.rar