Los últimos tutoriales de desarrollo web
 

XML DOM - Nodos de Acceso a las


Con el DOM, puede acceder a todos los nodos de un documento XML.


Inténtelo usted mismo - Ejemplos

Los ejemplos siguientes utilizan el archivo XML books.xml .

Acceder a un nodo utilizando su número de índice en una lista de nodos
Utilice la getElementsByTagName() método para conseguir el tercer <title> elemento en "books.xml"

Bucle a través de nodos utilizando la propiedad length
Utilice la propiedad de longitud para recorrer todos <title> elementos en "books.xml"

Ver el tipo de nodo de un elemento
Utilice la propiedad nodeType para obtener el tipo de nodo del elemento raíz en "books.xml" .

Bucle a través de nodos de elementos
Utilice la propiedad nodeType de nodos de elementos de proceso solamente en "books.xml" .

Bucle a través de nodos de elementos utilizando relaciones de nodo
Utilice la propiedad y la propiedad nodeType nextSibling para procesar nodos de elemento en "books.xml" .

×

Encabezamiento


El acceso a los nodos

Se puede acceder a un nodo de tres maneras:

1. Mediante el uso de la getElementsByTagName() método

2. Por un bucle a través (traversing) el árbol de nodos.

3. Al navegar por el árbol de nodos, utilizando las relaciones de nodo.


El getElementsByTagName() Método

getElementsByTagName () devuelve todos los elementos con un nombre de etiqueta especificada.

Sintaxis

node.getElementsByTagName("tagname");

Ejemplo

El ejemplo siguiente devuelve todos los <title> elementos bajo el elemento de x:

x.getElementsByTagName("title");

Tenga en cuenta que el ejemplo anterior sólo devuelve <title> elementos bajo el nodo x. Para devolver todos los <title> elementos en el uso de documentos XML:

xmlDoc.getElementsByTagName("title");

donde xmlDoc es el propio documento (document node) .


Lista de nodos DOM

El getElementsByTagName() método devuelve una lista de nodos. Una lista de nodos es un conjunto de nodos.

x = xmlDoc.getElementsByTagName("title");

La <title> elementos en x se puede acceder por número de índice. Para acceder a la tercera <title> se puede escribir ::

y = x[2];

Note: El índice comienza en 0.

Usted aprenderá más sobre las listas de nodos en un capítulo posterior de este tutorial.


Lista de nodos DOM Longitud

La propiedad de longitud define la longitud de una lista de nodos (the number of nodes) .

Puede recorrer una lista de nodos mediante el uso de la propiedad de longitud:

Ejemplo

var x = xmlDoc.getElementsByTagName("title");

for (i = 0; i <x.length; i++) {
  // do something for each node
  }
Inténtalo tú mismo "

Tipos de nodos

El documentElement propiedad del documento XML es el nodo raíz.

El nodeName propiedad de un nodo es el nombre del nodo.

El nodeType propiedad de un nodo es el tipo del nodo.

Va a aprender más sobre las propiedades del nodo en el siguiente capítulo de este tutorial.

Inténtalo tú mismo


Los nodos de desplazamiento

El código siguiente se reproduce a través de los nodos hijos, que también son nodos de elementos del nodo raíz:

Ejemplo

txt = "";
x = xmlDoc.documentElement.childNodes;

for (i = 0; i <x.length; i++) {
  // Process only element nodes (type 1)
  if (x[i].nodeType == 1) {
    txt += x[i].nodeName + "<br>";
  }
}
Inténtalo tú mismo "

Ejemplo explicó:

  1. Supongamos que ha cargado " books.xml " en xmlDoc
  2. Obtener los nodos hijos del elemento raíz (xmlDoc)
  3. Para cada nodo hijo, comprobar el tipo de nodo. Si el tipo de nodo es "1" es un nodo elemento
  4. Salida el nombre del nodo si es un nodo de elemento

Las relaciones de nodo Navegación

El siguiente código se desplaza por el árbol de nodos utilizando las relaciones de nodo:

Ejemplo

x = xmlDoc.getElementsByTagName("book")[0];
xlen = x.childNodes.length;
y = x.firstChild;

txt = "";
for (i = 0; i <xlen; i++) {
  // Process only element nodes (type 1)
  if (y.nodeType == 1) {
    txt += y.nodeName + "<br>";
  }
  y = y.nextSibling;
}
Inténtalo tú mismo "

Ejemplo explicó:

  1. Supongamos que ha cargado " books.xml " en xmlDoc
  2. Obtener los nodos secundarios del primer elemento de libro
  3. Ajuste el "y" variable para ser el primer nodo hijo del primer elemento de libro
  4. Para cada nodo hijo (starting with the first child node "y") :
  5. Compruebe el tipo de nodo. Si el tipo de nodo es "1" es un nodo elemento
  6. Salida el nombre del nodo si es un nodo de elemento
  7. Ajuste el "y" variable para ser el otro nodo del mismo, y correr a través del bucle de nuevo