Nodos XPath

En XPath, hay siete tipos de nodos: elemento, atributo, texto, espacio de nombres, instrucción de procesamiento, comentario y nodo de documento (o también llamado nodo raíz).

Términos de XPath

Nodo

En XPath, hay siete tipos de nodos: elemento, atributo, texto, espacio de nombres, instrucción de procesamiento, comentario y nodo de documento (o también llamado nodo raíz). El documento XML se trata como un árbol de nodos. La raíz del árbol se llama nodo de documento o nodo raíz.

Vea el siguiente documento 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>

Ejemplo de nodo en el documento XML superior:

<bookstore> (nodo de documento)
<author>J K. Rowling</author> (nodo de elemento)
lang="en" (nodo de atributo) 

Valor básico (o también llamado valor atómico, Atomic value)

Un valor básico es un nodo sin padre o sin hijos.

Ejemplo de valor básico:

J K. Rowling
"en"

Proyecto

Un proyecto es un valor básico o un nodo.

Relaciones de nodos

Padre

Cada elemento y atributo tiene un padre.

En el siguiente ejemplo, el elemento book es el padre de los elementos title, author, year y price:

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

Hijo

Un nodo de elemento puede tener cero, uno o varios hijos.

En el siguiente ejemplo, los elementos title, author, year y price son hijos del elemento book:

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

Hermano

Nodos que tienen el mismo padre

En el siguiente ejemplo, los elementos title, author, year y price son hermanos:

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

Antepasado

Padre, abuelo, etc. de un nodo.

En el siguiente ejemplo, los antepasados del elemento title son los elementos book y bookstore:

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

Descendiente

Hijo, nieto, etc. de un nodo.

En el siguiente ejemplo, los descendientes de bookstore son los elementos book, title, author, year y price:

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