Latest web development tutorials

Przykłady XPath

W tej sekcji, uczmy się przez przykład do jakiejś podstawowej składni XPath.


Dokumenty instancji XML

Będziemy korzystać z tego dokumentu XML w poniższym przykładzie:

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

Zobacz "Books.xml" plik w przeglądarce .


Załaduj dokument XML

Wszystkie nowoczesne przeglądarki obsługują XMLHttpRequest ładowania dokumentów XML.

Dla większości nowoczesnych przeglądarek kodu:

var xmlhttp=new XMLHttpRequest()

Dla starej przeglądarki Microsoft (IE 5 i 6) Kodeksu:

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


Wybierz węzeł

Niestety, Internet Explorer i inne inny sposób obchodzenia XPath.

W naszym przykładzie jest zawarty na większości głównych kodu przeglądarek.

Internet Explorer używa selectNodes () Metoda z dokumentu XML, aby wybrać węzły:

xmlDoc.selectNodes(xpath);

Firefox, Chrome, Opera i Safari użyć metody oceny (), aby wybrać węzły z dokumentu XML:

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


Zaznacz cały tytuł

Poniższe przykłady zaznaczyć wszystkie węzły tytuł:

Przykłady

/bookstore/book/title

Spróbuj »


Wybierz pierwszy tytuł książki

Poniższe przykłady wybrać elementu księgarni poniżej pierwszego węzła tytuł książki:

Przykłady

/bookstore/book[1]/title

Spróbuj »

Nie stanowi to problemu. Powyższe przykłady różnych wyników w IE i innych przeglądarek.

Ie5 a potem [0] uznana jako pierwszy węzeł, i zgodnie z normami W3C należy [1].

Jednym z rozwiązań!

Aby rozwiązać IE5 + [0] i [1] stanowi problemu, można ustawić wybrany język XPath (SelectionLanguage).

Poniższe przykłady wybrać elementu księgarni poniżej pierwszego węzła tytuł książki:

Przykłady

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

Spróbuj »


Zaznacz wszystkie ceny

Poniższe przykłady zaznaczyć cały cenę węzła tekstowego:

Przykłady

/bookstore/book/price/text()

Spróbuj »


Wybierz cena jest wyższa niż cena 35 węzłów

Poniższe przykłady zaznaczyć cały cenę wyższą niż cena 35 węzłów:

Przykłady

/bookstore/book[price>35]/price

Spróbuj »


Wybierz cenę węzła jest wyższa niż 35 tytuł

Poniższe przykłady wybrać wszystkie węzły tytuł ceny wyższe niż 35:

Przykłady

/bookstore/book[price>35]/title

Spróbuj »