Tutorial XML

INICIO XML Introducción XML XML Cómo utilizar Árbol XML Sintaxis XML Elementos XML Atributos XML Espacios de nombres XML Pantalla XML Solicitud Http XML Analizador XML DOM XML XPath XML XML XSLT XQuery XML Enlace X XML Validador XML DTD XML Esquema XML Servidor XML Ejemplos XML Cuestionario XML Certificado XML

XML-AJAX

AJAX Introducción AJAX XMLHttp Solicitud AJAX Respuesta AJAX Archivo XML AJAX AJAXPHP Ajax ASP Base de datos AJAX Aplicaciones AJAX Ejemplos de AJAX

DOM XML

DOM Introducción Nodos DOM Acceso DOM Información del nodo DOM Lista de nodos DOM Atravesando DOM Navegación DOM DOM obtener valores Nodos de cambio de DOM Eliminar nodos DOM Nodos de reemplazo de DOM DOM Crear nodos Agregar nodos DOM Nodos de clonación de DOM Ejemplos de DOM

Tutorial XPath

Introducción a XPath Nodos XPath Sintaxis XPath Ejes XPath Operadores XPath Ejemplos de XPath

Tutorial XSLT

XSLT Introducción Idiomas XSL Transformación XSLT XSLT <plantilla> XSLT <valor-de> XSLT <para-cada> XSLT <ordenar> XSLT <si> XSLT <elegir> Aplicar XSLT XSLT en el cliente XSLT en el servidor XSLT Editar XML Ejemplos de XSLT

Tutorial de XQuery

Introducción a XQuery Ejemplo de XQuery XQuery FLWOR XQuery HTML Términos de XQuery Sintaxis XQuery XQuery Agregar Seleccionar XQuery Funciones XQuery

DTD XML

Introducción a DTD Bloques de construcción DTD Elementos DTD Atributos DTD Elementos DTD vs Attr Entidades DTD Ejemplos de DTD

Esquema XSD

XSD Introducción XSD Cómo XSD <esquema> Elementos XSD Atributos XSD Restricciones XSD

Complejo XSD

Elementos XSD XSD vacío Solo elementos XSD Solo texto XSD XSD mixto Indicadores XSD XSD <cualquiera> XSD <cualquieratributo> Sustitución XSD Ejemplo XSD

Datos XSD

Cadena XSD Fecha XSD XSD Numérico Miscelánea XSD Referencia XSD

Servicios web

Servicios XML XML WSDL JABÓN XML XML RDF RSS XML

Referencias

Tipos de nodos DOM Nodo DOM Lista de nodos DOM DOM NamedNodeMap Documento DOM Elemento DOM Atributo DOM Texto DOM DOM CDATA Comentario DOM DOM XMLHttpSolicitud Analizador DOM Elementos XSLT Funciones XSLT/XPath

XML DOM - Acceso a nodos


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


Pruébelo usted mismo - Ejemplos

Los ejemplos a continuación usan el archivo XML books.xml .


Utilice el método getElementsByTagName() para obtener el tercer elemento <title> en "books.xml"


Use la propiedad length para recorrer todos los elementos <title> en "books.xml"


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


Utilice la propiedad nodeType para procesar solo los nodos de elementos en "books.xml".


Use la propiedad nodeType y la propiedad nextSibling para procesar los nodos de elementos en "books.xml".

×

Encabezamiento


Acceso a nodos

Puede acceder a un nodo de tres maneras:

1. Usando el método getElementsByTagName()

2. Recorriendo (recorriendo) el árbol de nodos.

3. Navegando por el árbol de nodos, utilizando las relaciones de nodos.


El método getElementsByTagName()

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

Sintaxis

node.getElementsByTagName("tagname");

Ejemplo

El siguiente ejemplo devuelve todos los elementos <title> debajo del elemento x:

x.getElementsByTagName("title");

Tenga en cuenta que el ejemplo anterior solo devuelve elementos <title> debajo del nodo x. Para devolver todos los elementos <title> en el documento XML, use:

xmlDoc.getElementsByTagName("title");

donde xmlDoc es el propio documento (nodo de documento).



Lista de nodos DOM

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

x = xmlDoc.getElementsByTagName("title");

Se puede acceder a los elementos <title> en x por número de índice. Para acceder al tercer <título> puedes escribir::

y = x[2];

Nota: El índice comienza en 0.

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


Longitud de la lista de nodos DOM

La propiedad de longitud define la longitud de una lista de nodos (el número de nodos).

Puede recorrer una lista de nodos utilizando la propiedad de longitud:

Ejemplo

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

for (i = 0; i <x.length; i++) {
  // do something for each node
  }

Tipos de nodos

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

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

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

Aprenderá más sobre las propiedades de los nodos en el próximo capítulo de este tutorial.


Nodos transversales

El siguiente código recorre los nodos secundarios, 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>";
  }
}

Ejemplo explicado:

  1. Suponga que ha cargado " books.xml " en xmlDoc
  2. Obtenga los nodos secundarios del elemento raíz (xmlDoc)
  3. Para cada nodo secundario, verifique el tipo de nodo. Si el tipo de nodo es "1", es un nodo de elemento
  4. Muestra el nombre del nodo si es un nodo de elemento

Relaciones de nodo de navegación

El siguiente código navega por el árbol de nodos utilizando las relaciones de nodos:

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;
}

Ejemplo explicado:

  1. Suponga que ha cargado " books.xml " en xmlDoc
  2. Obtenga los nodos secundarios del primer elemento del libro
  3. Establezca la variable "y" para que sea el primer nodo secundario del primer elemento del libro
  4. Para cada nodo secundario (comenzando con el primer nodo secundario "y"):
  5. Compruebe el tipo de nodo. Si el tipo de nodo es "1", es un nodo de elemento
  6. Muestra el nombre del nodo si es un nodo de elemento
  7. Establezca la variable "y" para que sea el siguiente nodo hermano y vuelva a ejecutar el ciclo