ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
# 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> ```