एक्सपैथ इनस्टांस

इस खंड में, हमें XPath बुनियादी व्याकरण को सीखने के लिए उदाहरण का उपयोग करेंगे:

XML उदाहरण दस्तावेज़

हम नीचे दिए गए उदाहरण में इस XML दस्तावेज़ का उपयोग करेंगे:

"books.xml" :

<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book category="COOKING">
  <title lang="en">एवरीडे इटालियन</title>
  <author>गियाडा डिलॉरेंटिस</author>
  <year>2005</year>
  <price>30.00</price>
</book>
<book category="CHILDREN">
  <title lang="en">हैरी पॉटर</title>
  <author>जे के. रोलिंग</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 का उपयोग करते हैं。

अधिकांश आधुनिक ब्राउज़रों के लिए कोड:

var xmlhttp=new XMLHttpRequest()

पुराने माइक्रोसॉफ्ट ब्राउज़र (IE 5 और 6) के लिए कोड:

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

नोड चुना गया

दुर्भाग्य से, Internet Explorer और XPath का संसाधन करने के लिए अन्य तरीके अलग हैं。

हमारे उदाहरण में अधिकांश मुख्य ब्राउज़रों के लिए विधि शामिल है。

Internet Explorer ने selectNodes() विधि का उपयोग करके XML दस्तावेज़ से नोड चुना:

xmlDoc.selectNodes(xpath);

Firefox, Chrome, Opera और Safari ने evaluate() विधि का उपयोग करके XML दस्तावेज़ से नोड चुना:

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

सभी title चुना गया

इस उदाहरण में सभी title नोड चुना गया है:

/bookstore/book/title

स्वयं प्रयास करें

पहले book के title चुना गया है

नीचे के उदाहरण में bookstore एलिमेंट के नीचे पहले book एलिमेंट के title चुना गया है:

/bookstore/book[1]/title

स्वयं प्रयास करें

यहाँ एक समस्या है।ऊपर के उदाहरण आईई और अन्य ब्राउज़रों में अलग-अलग परिणाम देते हैं

आईई5 और उससे ऊपर की संस्करण के लिए [0] को पहला नोड माना जाता है, जबकि W3C के मानक के अनुसार [1] होना चाहिए

आईई5+ में [0] और [1] की समस्या को सुलझाने के लिए, XPath के लिए भाषा चयन (SelectionLanguage) सेट कर सकते हैं

नीचे के उदाहरण में bookstore एलिमेंट के नीचे पहले book एलिमेंट के title चुना गया है:

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

स्वयं प्रयास करें

सभी कीमतें चुना गया है

नीचे के उदाहरण में price नोड में सभी टेक्स्ट चुना गया है:

/bookstore/book/price/text()

स्वयं प्रयास करें

35 से अधिक की कीमत वाले price नोड चुना गया है

नीचे के उदाहरण में 35 से अधिक की कीमत वाले सभी price नोड चुना गया है:

/bookstore/book[price>35]/price

स्वयं प्रयास करें

35 से अधिक की कीमत वाले title नोड चुना गया है

नीचे के उदाहरण में 35 से अधिक की कीमत वाले सभी title नोड चुना गया है:

/bookstore/book[price>35]/title

स्वयं प्रयास करें