XPath 規(guī)則編輯
簡介
XPath即為XML路徑語言,它是一種用來確定XML文檔中某部分位置的語言。
XPath基于XML的樹狀結(jié)構(gòu),提供在數(shù)據(jù)結(jié)構(gòu)樹中找尋節(jié)點的能力。起初XPath的提出的初衷是將其作為一個通用的、介于XPointer與XSL間的語法模型。但是XPath很快的被開發(fā)者采用來當(dāng)作小型查詢語言。
語法
選取節(jié)點 XPath 使用路徑表達式在 XML 文檔中選取節(jié)點。節(jié)點是通過沿著路徑或者 step 來選取的。
下面列出了最有用的路徑表達式:
|
表達式
|
描述
|
|---|---|
|
nodename
|
選取此節(jié)點的所有子節(jié)點。
|
|
/
|
從根節(jié)點選取。
|
|
//
|
從匹配選擇的當(dāng)前節(jié)點選擇文檔中的節(jié)點,而不考慮它們的位置。
|
|
.
|
選取當(dāng)前節(jié)點。
|
|
..
|
選取當(dāng)前節(jié)點的父節(jié)點。
|
|
@
|
選取屬性。
|
在下面的表格中,我們已列出了一些路徑表達式以及表達式的結(jié)果:
|
路徑表達式
|
結(jié)果
|
|---|---|
|
bookstore
|
選取 bookstore 元素的所有子節(jié)點。
|
|
/bookstore
|
選取根元素 bookstore。
注釋:假如路徑起始于正斜杠( / ),則此路徑始終代表到某元素的絕對路徑!
|
|
bookstore/book
|
選取屬于 bookstore 的子元素的所有 book 元素。
|
|
//book
|
選取所有 book 子元素,而不管它們在文檔中的位置。
|
|
bookstore//book
|
選擇屬于 bookstore 元素的后代的所有 book 元素,而不管它們位于 bookstore 之下的什么位置。
|
|
//@lang
|
選取名為 lang 的所有屬性。
|
示例
假如你要獲取數(shù)據(jù)的結(jié)構(gòu)如下:
<div id="demo">
<a href="http://www.95zz02.com/d.html">
<span class="title">iotheme</span>
</a>
<span>一為主題<span>
<p rel="pnode">熱榜api</p>
</div>
獲取內(nèi)容的規(guī)則為:
# 獲取標(biāo)題內(nèi)容 '//div[@id="demo"]/a/span[@class="title"]' # 獲取文章鏈接 '//div[@id="demo"]/a/@href' # 獲取p內(nèi)容 '//div[@id="demo"]/p[@rel="pnode"]'apiXPath熱榜



