XPath 是 XML 的查詢語言,類似 SQL 對資料庫。以樹狀結構導航,支援絕對/相對路徑、萬用字元、條件過濾。
<?xml version="1.0" encoding="ISO-8859-1"?>
<catalog>
<cd country="USA"><title>Empire Burlesque</title><artist>Bob Dylan</artist><price>10.90</price></cd>
<cd country="UK"><title>Hide your heart</title><artist>Bonnie Tyler</artist><price>9.90</price></cd>
<cd country="USA"><title>Greatest Hits</title><artist>Dolly Parton</artist><price>9.90</price></cd>
</catalog>
| 語法 | 說明 |
|---|---|
/catalog/cd/price | 絕對路徑:catalog 下所有 cd 的 price |
//cd | 任意層級所有 cd 元素 |
/catalog/cd/* | cd 所有子元素 |
/catalog/*/price | catalog 孫子層級的 price |
/*/*/price | 深度 2 的所有 price |
//* | 文件中所有元素 |
//cd[@country='USA'] | 屬性過濾:country 為 USA 的 cd |
/catalog/cd[price>10] | 條件過濾:price 大於 10 |
// 表示任意層級(相對路徑),/ 為根路徑(絕對路徑)。* 代表未知「名稱」,不可代表未知「層級」。XmlNode.SelectNodes(xpath) 或 XPathNavigator 執行查詢。