XPath 節點
XPath 術語
節點
在XPath 中,有七種類型的節點:元素、屬性、文字、命名空間、處理指令、註釋以及文檔(根)節點。 XML 文件是被當作節點樹來對待的。樹的根被稱為文檔節點或根節點。
請看下面這個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>
< ;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" (屬性節點)
##基本值(或稱原子值,Atomic value)
<author>J K. Rowling</author> (元素節點)
lang="en" (屬性節點)
基本值是無父或無子的節點。
基本值的範例:
J K. Rowling"en"
項目(Item)項目是基本值或節點。
節點關係父(Parent)
每個元素以及屬性都有一個父。
在下面的範例中,book 元素是 title、author、year 以及 price 元素的父親:
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
子(Children)<year>2005</year>
<price>29.99</price>
</book>
元素節點可有零個、一個或多個子。
在下面的例子中,title、author、year 以及 price 元素都是 book 元素的子:
<book>
<title>Harry Potter</title>
#
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
#
<year>2005</year>
<price>29.99</price>
</book>
#
同胞(Sibling)
有相同的父的節點
在下面的例子中,title、author、year 以及price 元素都是同胞:
#<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
先輩(Ancestor)
某節點的父、父的父,等等。
在下面的例子中,title 元素的先輩是 book 元素和 bookstore 元素:
<bookstore>
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
</bookstore>
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
</bookstore>
後代(Descendant)
某個節點的子,子的子,等等。
在下面的例子中,bookstore 的後代是book、title、author、year 以及price 元素:
<bookstore>
#<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
</bookstore>
#<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
</bookstore>