Foro | Los últimos tutoriales de desarrollo web
 

Ejemplos XPath


Vamos a tratar de aprender algo de sintaxis básica de XPath examinado algunos ejemplos.


El Ejemplo de documento XML

Vamos a utilizar el siguiente documento XML en los siguientes ejemplos.

"Books.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>

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


Carga del documento XML

El uso de XMLHttpRequest para cargar documentos XML es compatible con todos los navegadores modernos.

Código para la mayoría de los navegadores modernos:

var xmlhttp=new XMLHttpRequest()

Código para navegadores antiguos de Microsoft (IE 5 y 6):

var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")

Selección de nodos

Por desgracia, hay diferentes maneras de tratar con XPath en Internet Explorer y otros navegadores.

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

Internet Explorer utiliza las selectNodes () para seleccionar nodos del documento XML:

xmlDoc.selectNodes(xpath);

Firefox, Chrome, Opera y Safari utilizan el método de evaluar () para seleccionar los nodos del documento XML:

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

Seleccionar todos los títulos

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

Ejemplo

/bookstore/book/title
Inténtalo tú mismo "

Seleccione el título del primer libro

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

Ejemplo

/bookstore/book[1]/title
Inténtalo tú mismo "

Seleccionar todos los precios

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

Ejemplo

/bookstore/book/price[text()]
Inténtalo tú mismo "

Seleccione los nodos de precios con el precio> 35

El siguiente ejemplo selecciona todos los nodos de precios con un precio mayor que 35:

Ejemplo

/bookstore/book[price>35]/price
Inténtalo tú mismo "

Seleccione los nodos de título con precio> 35

El siguiente ejemplo selecciona todos los nodos del título con un precio mayor que 35:

Ejemplo

/bookstore/book[price>35]/title
Inténtalo tú mismo "