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

Ejemplos de XPath


Intentemos aprender algo de sintaxis XPath básica mirando algunos ejemplos.


El documento de ejemplo XML

Usaremos el siguiente documento XML en los ejemplos a continuación.

"libros.xml":

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

<bookstore>

<book category="cooking">
  <title lang="en">Everyday Italian</title>
  <author>Giada De Laurentiis</author>
  <year>2005</year>
  <price>30.00</price>
</book>

<book category="children">
  <title lang="en">Harry Potter</title>
  <author>J K. Rowling</author>
  <year>2005</year>
  <price>29.99</price>
</book>

<book category="web">
  <title lang="en">XQuery Kick Start</title>
  <author>James McGovern</author>
  <author>Per Bothner</author>
  <author>Kurt Cagle</author>
  <author>James Linn</author>
  <author>Vaidyanathan Nagarajan</author>
  <year>2003</year>
  <price>49.99</price>
</book>

<book category="web">
  <title lang="en">Learning XML</title>
  <author>Erik T. Ray</author>
  <year>2003</year>
  <price>39.95</price>
</book>

</bookstore>

Vea el archivo "books.xml" en su navegador .



Cargando el Documento XML

Todos los navegadores modernos admiten el uso de un objeto XMLHttpRequest para cargar documentos XML.

var xmlhttp = new XMLHttpRequest();

El código para navegadores más antiguos (IE5 e IE6) se puede encontrar en el tutorial de AJAX.


Selección de nodos

Desafortunadamente, existen diferentes formas de manejar XPath en diferentes navegadores.

Chrome, Firefox, Edge, Opera y Safari usan el método de evaluación() para seleccionar nodos:

xmlDoc.evaluate(xpath, xmlDoc, null, XPathResult.ANY_TYPE,null);

Internet Explorer utiliza el método selectNodes() para seleccionar el nodo:

xmlDoc.selectNodes(xpath);

En nuestros ejemplos, hemos incluido código que debería funcionar con la mayoría de los principales navegadores.


Selecciona todos los títulos

El siguiente ejemplo selecciona todos los nodos de título:

Ejemplo

/bookstore/book/title

Seleccione el título del primer libro.

El siguiente ejemplo selecciona el título del primer nodo de libro bajo el elemento librería:

Ejemplo

/bookstore/book[1]/title

Selecciona todos los precios

El siguiente ejemplo selecciona el texto de todos los nodos de precios:

Ejemplo

/bookstore/book/price[text()]

Seleccionar nodos de precio con precio>35

El siguiente ejemplo selecciona todos los nodos de precios con un precio superior a 35:

Ejemplo

/bookstore/book[price>35]/price

Seleccionar nodos de título con precio>35

El siguiente ejemplo selecciona todos los nodos de título con un precio superior a 35:

Ejemplo

/bookstore/book[price>35]/title