XPath Nodo


Terminología de XPath

Nodo

En XPath, hay siete tipos de nodos: elementos, atributos, texto, espacios de nombres, instrucciones de procesamiento, comentarios y nodos de documento (raíz). Los documentos XML se tratan como un árbol de nodos. La raíz del árbol se llama nodo de documento o nodo raíz.

Consulte el siguiente documento XML:

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

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

Ejemplos de nodos en el documento XML anterior:

<bookstore> (nodo de documento)

<author>J K. Rowling</author> (nodo de elemento)

lang="en" (nodo de atributo)

Valor básico (o valor atómico, Atomic value)

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

Ejemplos de valores básicos:

J K. Rowling

"en"

Ítem (Item)

Un ítem es un valor básico o un nodo.


Relaciones entre nodos

Padre (Parent)

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>

Hijos (Children)

Los nodos de elemento pueden tener cero, uno o más 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>

Hermanos (Sibling)

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>

Ancestro (Ancestor)

El padre de un nodo, el padre del padre, etc.

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

<bookstore>

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

</bookstore>

Descendiente (Descendant)

Los hijos de un nodo, los hijos de los hijos, etc.

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>
Otras extensiones