Latest web development tutorials

Примеры XPath

В этом разделе, давайте учиться на примере какой-то основной синтаксис XPath.


экземпляра XML-документы

Мы будем использовать этот XML-документ в следующем примере:

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

Просмотр файла "books.xml" в вашем браузере .


Загрузите документ XML

Все современные браузеры поддерживают использование XMLHttpRequest для загрузки XML-документов.

Для большинства современных браузеров кода:

var xmlhttp=new XMLHttpRequest()

Для старого браузера Microsoft (IE 5 и 6) Кодекса:

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


Выберите узел

К сожалению, Internet Explorer и другие другой способ обработки XPath.

В нашем примере, он содержал для большинства основных браузеров кода.

Internet Explorer использует SelectNodes () метод из документа XML, чтобы выбрать узлы:

xmlDoc.selectNodes(xpath);

Firefox, Chrome, Opera и Safari используют метод оценки () для выбора узлов из документа XML:

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


Выбрать все названия

Следующие примеры выбора всех заголовков узлов:

примеров

/bookstore/book/title

Попробуйте »


Выберите первый название книги

Следующие примеры выбора книжного магазина элемент ниже первого заголовка книги узла:

примеров

/bookstore/book[1]/title

Попробуйте »

Существует проблема. Приведенные выше примеры различных результатов в IE и другие браузеры.

IE5 и позже [0] рассматривается как первый узел, и в соответствии с стандартами W3C должны быть [1].

Одно из возможных решений!

Для того, чтобы решить IE5 + [0] и [1] проблемы, вы можете установить выбор языка для XPath (SelectionLanguage).

Следующие примеры выбора книжного магазина элемент ниже первого заголовка книги узла:

примеров

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

Попробуйте »


Выбрать все цены

Следующие примеры выбрать все цены узла текста:

примеров

/bookstore/book/price/text()

Попробуйте »


Выберите цена выше, чем цена узла 35

Следующие примеры выбрать все цены выше, чем цена 35 узлов:

примеров

/bookstore/book[price>35]/price

Попробуйте »


Выберите цену узла выше, чем 35 название

Следующие примеры выбора всех заголовков узлов цены выше, чем 35:

примеров

/bookstore/book[price>35]/title

Попробуйте »