XPath tutoriallogin
XPath tutorial
author:php.cn  update time:2022-04-20 14:10:21

XPath node



XPath terminology

Node

In XPath, there are seven types of nodes: element, attribute, text, namespace, processing instruction, Comments and document (root) nodes. XML documents are treated as nodes trees. The root of the tree is called the document node or root node.

Please look at the following XML document:

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

Example of nodes in the above XML document:

<bookstore> (Document node)

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

lang="en" (attribute node)

Basic value (or atom Value, Atomic value)

The basic value is a node with no parent or child.

Example of basic value:

J K. Rowling

"en"

Item

Items are basic values ​​or nodes.


Node relationship

Parent

Each element and attribute has a parent.

In the following example, the book element is the parent of the title, author, year, and price elements:

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

Children

The element node can have zero, one or more children.

In the following example, the title, author, year, and price elements are all children of the book element:

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

Siblings

Nodes with the same parent

In the following example, the title, author, year and price elements are all siblings:

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

Ancestor

The parent of a certain node, the parent of the parent, etc.

In the following example, the ancestors of the title element are the book element and the bookstore element:

<bookstore>

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

</bookstore>

Descendant

Someone Children of nodes, children of children, etc.

In the following example, the descendants of bookstore are the book, title, author, year, and price elements:

<bookstore>

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

</bookstore>
##