XPath Nodes
- Previous Page Introduction to XPath
- Next Page XPath Syntax
In XPath, there are seven types of nodes: elements, attributes, text, namespaces, processing instructions, comments, and document nodes (or called root nodes).
XPath Terminology
Node (Node)
In XPath, there are seven types of nodes: elements, attributes, text, namespaces, processing instructions, comments, and document (root) nodes. The XML document is treated as a node tree. The root of the tree is known as the document node or root node.
Please see the following XML document below:
<?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 values (also known as atomic values, Atomic value)
Basic values are nodes without parent or children.
Example of basic values:
J K. Rowling "en"
Item
Items are basic values or nodes.
Node Relationships
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
An element node may have zero, one, or more children.
In the following example, the title, author, year, and price elements 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 with the same parent
In the following example, the title, author, year, and price elements are siblings:
<book> <title>Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book>
Ancestor
Parent, grandparent, and so on of a node.
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
Child, grandchild, and so on of a node.
In the following example, the descendants of bookstore are 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>
- Previous Page Introduction to XPath
- Next Page XPath Syntax