一、XPath術語:
1.節點:在XPath中,有七種類型的節點:元素、屬性、文本、命名空間、處理指令、注釋以及文檔(根)節點。
XML文檔是被作為節點樹來對待的。樹的根被稱為文檔節點或者根節點。
實例
1:XML文檔:
<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book>
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
</bookstore>
上面的XML文檔中的節點例子:<bookstore>(文檔節點),<author>J K. Rowling</author>(元素節點),lang="en"(屬性節點)。
2.基本值(或稱原子值,Atomic value)
基本值是無父或無子的節點。基本值的例子:在實例1的xml文檔中J K. Rowling、"en"
3.項目(Item)項目是基本值或者節點。
4.節點的關系:
1)父節點(Parent):每個元素以及屬性都有一個父。在上面實例1的xml 文檔中,book 元素是 title、author、year 以及price 元素的父節點。
2)子節點(Children):元素節點可有零個、一個或多個子。在上面實例1的xml 文檔中,title、author、year 以及price 元素都是book 元素的子。
3)同胞(Sibling):擁有相同的父的節點,在上面實例1的xml 文檔中,title、author、year 以及price 元素都是同胞。
4)先輩(Ancestor)某節點的父、父的父,等等。在實例1的xml 文檔中,title 元素的先輩是book 元素和bookstore 元素。
5)后代(Descendant)某個節點的子,子的子,等等。在實例1的xml 文檔中,bookstore 的后代是book、title、author、year 以及price 元素。
二、XPath語法:
XPath 使用路徑表達式來選取XML 文檔中的節點或節點集。節點是通過沿着路徑(path) 或者步(steps) 來選取的。我們將在下面的例子中使用這個XML 文檔:
<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book>
<title lang="eng">Harry Potter</title>
<price>29.99</price>
<title lang="eng">Learning XML</title>
<price>39.95</price>
</book>
</bookstore>
1.選取節點XPath 使用路徑表達式在XML 文檔中選取節點。節點是通過沿着路徑或者step 來選取的。下面列出了最有用的路徑表達式:
表達式描述nodename 選取此節點的所有子節點。
實例:在下面的表格中,我們已列出了一些路徑表達式以及表達式的結果:
2.謂語(Predicates)
謂語用來查找某個特定的節點或者包含某個指定的值的節點,謂語被嵌在方括號中。
實例:在下面的表格中,我們列出了帶有謂語的一些路徑表達式,以及表達式的結果:
3.選取未知節點XPath
通配符可用來選取未知的 XML 元素。