Latest web development tutorials

Exemplos XPath

Nesta seção, vamos aprender por exemplo para alguns sintaxe básica XPath.


documentos de instância XML

Usaremos este documento XML no exemplo a seguir:

"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 arquivo "books.xml" no seu browser .


Coloque um documento XML

Todos os navegadores modernos suportam o uso de XMLHttpRequest para carregar documentos XML.

Para a maioria de código navegadores modernos:

var xmlhttp=new XMLHttpRequest()

Para o navegador o antigo Microsoft (IE 5 e 6) do Código:

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


Escolha um nó

Infelizmente, o Internet Explorer e outros maneira diferente de XPath manuseio.

No nosso exemplo, continha durante a maior parte do código navegadores major.

Internet Explorer usa selectNodes () método do documento XML para selecionar nós:

xmlDoc.selectNodes(xpath);

Firefox, Chrome, Opera e Safari usar o método de avaliar () para selecionar os nós do documento XML:

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


Selecione todos os títulos

Os exemplos a seguir selecionar todos os nós de título:

Exemplos

/bookstore/book/title

tente »


Selecione o primeiro título de um livro

Os exemplos a seguir selecione elemento livraria abaixo do primeiro título nó livro:

Exemplos

/bookstore/book[1]/title

tente »

Existe um problema. Os exemplos acima de resultados diferentes em IE e outros navegadores.

IE5 e depois o [0] considerado como o primeiro nó, e de acordo com os padrões W3C deve ser [1].

Uma solução!

A fim de resolver o IE5 + [0] e [1] do problema, você pode definir a selecção do idioma para o XPath (SelectionLanguage).

Os exemplos a seguir selecione elemento livraria abaixo do primeiro título nó livro:

Exemplos

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

tente »


Selecione todos os preços

Os exemplos a seguir selecionar todo o preço nó de texto:

Exemplos

/bookstore/book/price/text()

tente »


Escolha o preço é mais elevado do que o nó de preços 35

Os exemplos a seguir selecionar todos preço mais elevado do que o preço de 35 nós:

Exemplos

/bookstore/book[price>35]/price

tente »


Escolha o preço nó é superior a 35 título

Os exemplos a seguir selecione todos os preços nós de título superior a 35:

Exemplos

/bookstore/book[price>35]/title

tente »