XPath 教程login
XPath 教程
作者:php.cn  更新時間:2022-04-20 14:10:21

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>

上面的XML文件中的節點範例:

##<bookstore>  (文件節點)

<author>J K. Rowling</author>  (元素節點)

lang="en" (屬性節點)
##基本值(或稱原子值,Atomic value)

基本值是無父或無子的節點。

基本值的範例:

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)

元素節點可有零個、一個或多個子。

在下面的例子中,title、author、year 以及 price 元素都是 book 元素的子:

<book>
    <title>Harry Potter</title>
    <author>J K. Rowling</author>
    <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>

先輩(Ancestor)

某節點的父、父的父,等等。

在下面的例子中,title 元素的先輩是 book 元素和 bookstore 元素:

<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>
#