XPathの例
このセクションでは、私たちはいくつかの基本的なXPath構文を例に学びましょう。
XMLインスタンス文書
私たちは、次の例では、このXML文書を使用します。
「Books.xmlを」:
<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ドキュメントを読み込みます
すべての近代的なブラウザでは、XML文書をロードするためにXMLHttpRequestの使用をサポートしています。
最も近代的なブラウザのコードの場合:
古いマイクロソフトのブラウザコードの(IE 5および6)の場合:
ノードを選択します
残念ながら、Internet ExplorerとXPathを処理する他の異なる方法。
この例では、それはほとんどの主要なブラウザのコードを含んでいました。
Internet Explorerは、ノードを選択するために、XML文書からのselectNodes()メソッドを使用しています。
Firefoxの、クローム、オペラとSafariは、XML文書からノードを選択する評価()メソッドを使用します。
すべてのタイトルを選択
次の例では、すべてのタイトルノードを選択します。
本の最初のタイトルを選択
次の例では、最初の本ノードタイトルの下書店要素を選択します。
問題があります。 IEと他のブラウザで異なる結果の上記の例。
IE5以降では、[0]、最初のノードとみなし、およびW3C標準によれば[1]でなければなりません。
一つの解決策!
IE5 +を解決するために、[0]、[1]の問題、あなたは、XPath(SelectionLanguage)の言語選択を設定することができます。
次の例では、最初の本ノードタイトルの下書店要素を選択します。
例
xml.selectNodes("/bookstore/book[1]/title");
»をお試しください
すべての価格を選択
次の例では、すべてのテキストノードの価格を選択します。
価格ノード35よりも高い価格を選択
次の例では、35ノードの価格よりも高いすべての価格を選択します。
35タイトルよりも高いノードの価格を選択
次の例では、35よりも高いすべてのタイトルノードの価格を選択します。