最新的Web开发教程
 

XPath的节点


XPath的术语

节点

在XPath中,有七种不同的节点:元素,属性,文本,命名空间,处理指令,注释,文档节点。

XML文档被视为节点的树木。 树的最顶端的元素称为根元素。

请看下面的XML文档:

<?xml version="1.0" encoding="UTF-8"?>

<bookstore>
  <book>
    <title lang="en">Harry Potter</title>
    <author>J K. Rowling</author>
    <year>2005</year>
    <price>29.99</price>
  </book>
</bookstore>

上面的XML文档中的节点的实施例:

<bookstore> (root element node)

<author>J K. Rowling</author> (element node)

lang="en" (attribute node)

原子值

原子值是没有子女或父节点。

原子值例如:

J K. Rowling

"en"

项目

项目是原子值或节点。


节点的关系

每个元素和属性具有一个父。

在下面的例子; book元素是标题,作者,年份,以及价格的父:

<book>
  <title>Harry Potter</title>
  <author>J K. Rowling</author>
  <year>2005</year>
  <price>29.99</price>
</book>

孩子

元素节点可以有零个,一个或更多的孩子。

在下面的例子; 标题,作者,年份,以及price元素都是book元素的所有子:

<book>
  <title>Harry Potter</title>
  <author>J K. Rowling</author>
  <year>2005</year>
  <price>29.99</price>
</book>

兄弟姐妹

具有相同的父节点。

在下面的例子; 标题,作者,年份,以及价格元素都是兄弟姐妹:

<book>
  <title>Harry Potter</title>
  <author>J K. Rowling</author>
  <year>2005</year>
  <price>29.99</price>
</book>

祖先

节点的父母,父母的父母等

在下面的例子; title元素的先辈是book元素和bookstore元素:

<bookstore>

<book>
  <title>Harry Potter</title>
  <author>J K. Rowling</author>
  <year>2005</year>
  <price>29.99</price>
</book>

</bookstore>

后人

节点的孩子,孩子的孩子,等等。

在下面的例子; 书店的后代是这本书,书名,作者,年份,以及价格因素:

<bookstore>

<book>
  <title>Harry Potter</title>
  <author>J K. Rowling</author>
  <year>2005</year>
  <price>29.99</price>
</book>

</bookstore>