XPath Nodes
- Previous Page XPath Introduction
- Next Page XPath Syntax
In XPath, there are seven types of nodes: element, attribute, text, namespace, processing instruction, comment, and document node (or root node).
XPath terminology
Node
In XPath, there are seven types of nodes: element, attribute, text, namespace, processing instruction, comment, and document (root) node. An XML document is treated as a node tree. The root of the tree is called the document node or root node.
See 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>
Examples of nodes in the above XML document:
<bookstore> (document node) <author>J K. Rowling</author> (element node) lang="en" (attribute node)
Basic value (also known as atomic value)
A basic value is a node that has no parent or no children.
Example of a basic value:
J K. Rowling "en"
Item
An item is a basic value or a node.
Node relationship
Parent
Each element and attribute has a parent.
In the following example, the book element is the parent of the elements title, author, year, and price:
<book> <title>Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book>
Children
An element node can have zero, one, or more children.
In the following example, the elements title, author, year, and price are children of the book element:
<book> <title>Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book>
Sibling
Nodes that have the same parent
In the following example, the elements title, author, year, and price are peers:
<book> <title>Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book>
Ancestor
The parent, grandparent, and so on of a node.
In the following example, the ancestors of the title element are the elements book and bookstore:
<bookstore> <book> <title>Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> </bookstore>
Descendant
The child, grandchild, and so on of a node.
In the following example, the descendants of bookstore are the elements book, title, author, year, and price:
<bookstore> <book> <title>Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> </bookstore>
- Previous Page XPath Introduction
- Next Page XPath Syntax