XML DOM - Acceso a nodos
A través de DOM, puede acceder a cada nodo en un documento XML.
Pruébalo - Ejemplo
El siguiente ejemplo utiliza un archivo XML。
funciónloadXMLDoc(), ubicada en JavaScript externo, se utiliza para cargar el archivo XML.
Acceder a los nodos usando el número de índice en la lista de nodos.
Este ejemplo usa el método getElementsByTagname() para obtener el tercer elemento <title> en 'books.xml'.
Este ejemplo usa la propiedad length para recorrer todos los elementos <title> en 'books.xml'.
Este ejemplo usa la propiedad nodeType para obtener el tipo de nodo del elemento raíz en 'books.xml'.
Este ejemplo usa la propiedad nodeType para manejar los nodos de elementos en 'books.xml'.
Recorrer nodos de elementos usando las relaciones de los nodos.
Este ejemplo usa las propiedades nodeType y nextSibling para manejar los nodos de elementos en 'books.xml'.
Acceso a nodos
Puede acceder a los nodos de tres maneras:
1. Usando el método getElementsByTagName().
2. Recorriendo (iterando) el árbol de nodos.
3. Navegando en el árbol de nodos utilizando las relaciones de los nodos.
Método getElementsByTagName()
getElementsByTagName() devuelve todos los elementos con el nombre de etiqueta especificado.
Sintaxis
Ejemplo
El siguiente ejemplo devuelve todos los elementos <title> dentro del elemento x:
Tenga en cuenta que el ejemplo anterior solo devuelve los elementos <title> bajo el nodo x. Para devolver todos los elementos <title> en el documento XML, use:
Aquí, xmlDoc es el documento en sí mismo (el nodo del documento).
Lista de nodos DOM (Node List)
El método getElementsByTagName() devuelve una lista de nodos. La lista de nodos es un arreglo de nodos.
El siguiente código utilizaloadXMLDoc()para cargaren xmlDoc, y luego almacenar una lista de nodos <title> en la variable x:
x=xmlDoc.getElementsByTagName("title");
Puede acceder a los elementos <title> en x mediante el número de índice. Para acceder al tercer <title>, puede escribir:
Nota:El índice comienza en 0.
En capítulos posteriores de este tutorial, aprenderá más sobre la lista de nodos (Node List).
Longitud de la lista de nodos DOM (Node List Length)
La propiedad length define la longitud de la lista de nodos (es decir, la cantidad de nodos).
Puede recorrer la lista de nodos usando la propiedad length:
Ejemplo
Pruébalo »
Explicación del ejemplo:
- UsarloadXMLDoc()para cargaren xmlDoc
- Obtener todos los nodos de elementos <title>
- Mostrar el valor del nodo de texto de cada elemento <title>
Tipos de nodo (Node Types)
del documento XMLdocumentElementla propiedad es el nodo raíz.
del nodonodeNamela propiedad es el nombre del nodo.
del nodonodeTypela propiedad es el tipo del nodo.
Aprenderá más sobre las propiedades de los nodos en el próximo capítulo de este tutorial.
Recorrer nodos
El siguiente código recorre los nodos secundarios del nodo raíz, que también son nodos de elementos:
Ejemplo
Pruébalo »
Explicación del ejemplo:
- UsarloadXMLDoc()para cargaren xmlDoc
- Obtener los nodos secundarios del elemento raíz
- Verificar el tipo de nodo de cada nodo secundario. Si el tipo de nodo es '1', es un nodo de elemento.
- Si es un nodo de elemento, mostrar el nombre del nodo.
Navegar las relaciones de los nodos
El siguiente código navega por el árbol de nodos usando las relaciones de los nodos:
Ejemplo
Pruébalo »
- UsarloadXMLDoc()para cargaren xmlDoc
- Obtener los nodos secundarios del primer elemento book
- Establecer la variable 'y' como el primer nodo secundario del primer elemento book
- Para cada nodo secundario (el primer nodo secundario comienza en 'y'), verificar el tipo de nodo; si el tipo de nodo es '1', es un nodo de elemento.
- Si es un nodo de elemento, mostrar el nombre de ese nodo.
- Establecer la variable 'y' como el siguiente nodo hermano y ejecutar el bucle nuevamente.
Otras extensiones