Latest web development tutorials

Ejemplos XPath

En esta sección, vamos a aprender con el ejemplo de una sintaxis básica de XPath.


documentos de instancia XML

Vamos a utilizar este documento XML en el ejemplo siguiente:

"Books.XML":

<?xml version="1.0" encoding="ISO-8859-1"?>

<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 archivo "books.xml" en su navegador .


Cargar un documento XML

Todos los navegadores modernos soportan el uso de XMLHttpRequest para cargar documentos XML.

Para la mayoría de los navegadores modernos código:

var xmlhttp=new XMLHttpRequest()

Para el antiguo navegador de Microsoft (IE 5 y 6) del Código:

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


Seleccione el nodo

Por desgracia, Internet Explorer y otra forma diferente de XPath manipulación.

En nuestro ejemplo, contenía la mayor parte de los navegadores de código importante.

Internet Explorer utiliza el método selectNodes () del documento XML para seleccionar los nodos:

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 todo el título

Los siguientes ejemplos seleccionar todos los nodos de título:

Ejemplos

/bookstore/book/title

Trate »


Seleccione el primer título de un libro

Los siguientes ejemplos seleccionar elemento de librería por debajo del primer título nodo de libro:

Ejemplos

/bookstore/book[1]/title

Trate »

Hay un problema. Los ejemplos anteriores de resultados diferentes en Internet Explorer y otros navegadores.

IE5 y más tarde el [0] considerado como el primer nodo, y de acuerdo con los estándares del W3C debería ser [1].

Una solución!

Con el fin de resolver el IE5 + [0] y [1] del problema, se puede establecer la selección de idioma para el XPath (SelectionLanguage).

Los siguientes ejemplos seleccionar elemento de librería por debajo del primer título nodo de libro:

Ejemplos

xml.setProperty("SelectionLanguage","XPath");
xml.selectNodes("/bookstore/book[1]/title");

Trate »


Seleccionar todos los precios

Los siguientes ejemplos seleccionar todo el precio de nudo de texto:

Ejemplos

/bookstore/book/price/text()

Trate »


Seleccione el precio es más alto que el precio de nodo 35

Los siguientes ejemplos seleccionar todo precio superior al precio de 35 nodos:

Ejemplos

/bookstore/book[price>35]/price

Trate »


Seleccione el precio de nudo es mayor que 35 título

Los siguientes ejemplos seleccionar todos los nodos de título precios superiores a 35:

Ejemplos

/bookstore/book[price>35]/title

Trate »