什么是XPath?
系統
1771 0
XPath是一個獲取XML文檔中你所需要的節點元素的組件。它允許你用很少的代碼就能獲取指定的路徑下你所選取的節點的值。例如,你有一個類似下面的XML文檔:
程序代碼
<products>
<productSKU="7123734">
<name>BigMetalPot</name>
<price>19.95</price>
</product>
<productSKU="752585">
<name>Plate</name>
<price>12.95</price>
</product>
<productSKU="4182476">
<name>Spoon</name>
<price>4.95</price>
</product>
</products>
你可以用下面的代碼來獲取產品的種類
myXPathDocument.selectNodes("/products/product");
你也可以用這樣的代碼來獲得所有產品中價格超過5美圓的產品:
myXPathDocument.selectNodes("/products/product[./price>5]");
你也可以獲取所有的SKUs就像這樣:
myXPathDocument.selectNodes("/products/product/@sku");
---------------------------------------------------------------------------------------------------
XPath 規范基本上遵循與文件系統尋址相同的規則:
-
如果 XPath 表達式以斜杠 (/) 開頭,代表的是 XML 元素的絕對路徑(從 XML 文檔的根開始)。
-
如果 XPath 表達式以雙斜杠 (//) 開頭,則會選擇當前文檔中符合指定條件的所有元素,而不考慮它們在 XML 文檔中的位置。例如,
//employee
會查找 XML 文檔中的所有員工節點。
-
星號 (*) 會選擇由前面的路徑定位的所有 XML 元素。例如,
/company/department/*
選擇一個部門的所有子節點,即該部門的所有員工。
-
點 (.) 選擇當前的節點,兩個點 (..) 選擇父節點。例如,用于選擇某個員工所在的部門的 XPath 表達式就是
../employee
。
-
要選擇屬性,請使用
@
字符。例如,
/company/department/employee[@retired]
選擇指定了
retired
屬性的所有員工。
什么是XPath?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元