XPath इंस्टांस
- पिछला पृष्ठ XPath ऑपरेटर
- अगला पृष्ठ XSLT व्याख्या
इस चयन में, हमें 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>
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
यहाँ एक समस्या है। ऊपर के उदाहरण IE और अन्य ब्राउज़रों में अलग-अलग परिणाम दिखाते हैं。
IE5 और उससे ऊपर की संस्करण में [0] को पहले नोड के रूप में देखा जाता है, जबकि W3C के मानक के अनुसार, यह [1] होना चाहिए。
IE5+ में [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
- पिछला पृष्ठ XPath ऑपरेटर
- अगला पृष्ठ XSLT व्याख्या