एक्सपैथ व्याकरण
- पिछला पृष्ठ एक्सपैथ नोड
- अगला पृष्ठ XPath अक्ष
XPath XML दस्तावेज़ में नोड या नोड सेट को चुनने के लिए पथ एक्सप्रेशन का उपयोग करता है। नोड उपर या path (path) या step (steps) के माध्यम से चुने जाते हैं।
XML इन्स्टांस दस्तावेज़
हम नीचे दिए गए उदाहरण में इस XML दस्तावेज़ का उपयोग करेंगे।
<?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book> <title lang="eng">Harry Potter</title> <price>29.99</price> </book> <book> <title lang="eng">Learning XML</title> <price>39.95</price> </book> </bookstore>
नोड को चुनें
XPath XML दस्तावेज़ में नोड को चुनने के लिए उपयोग करता है। नोड उपर या step के माध्यम से चुने जाते हैं।
नीचे सबसे अधिक उपयोगी पथ एक्सप्रेशनों को दिया गया है:
एक्सप्रेशन | वर्णन |
---|---|
nodename | इस नोड के सभी सब-नोड को चुनें। |
/ | रूट नोड को चुनें। |
// | मिलान करे वाले वर्तमान नोड के दस्तावेज़ में किसी नोड को चुनें, बिना उनके स्थान का ध्यान रखे। |
. | वर्तमान नोड को चुनें। |
.. | वर्तमान नोड के पिता नोड को चुनें। |
@ | अट्रिब्यूट को चुनें। |
उदाहरण
नीचे दिए गए तालिका में, हमने कुछ पथ एक्सप्रेशन और उनके परिणामों को सूचीबद्ध किया है:
पथ एक्सप्रेशन | परिणाम |
---|---|
bookstore | bookstore एलीमेंट के सभी सब-नोड को चुनें। |
/bookstore |
शीर्ष एलीमेंट bookstore को चुनें। टिप्पणी: अगर पथ उच्चसे ( / ) से शुरू होता है, तो इस पथ सदैव किसी एलीमेंट तक के निर्देशक पथ को प्रतिनिधित्व करता है! |
bookstore/book | बुकस्टोर के सब-एलीमेंट के सभी बुक एलीमेंटों को चुनें। |
//book | दस्तावेज़ में कहीं भी स्थित सभी बुक सब-एलीमेंटों को चुनें। |
bookstore//book | बुकस्टोर एलीमेंट के परिवार के सभी बुक एलीमेंटों को चुनें, चाहे वे बुकस्टोर के नीचे कहीं भी हों। |
//@lang | नाम लिंग के सभी अभियात्मक को चुनें |
कथ्यात्मक (Predicates)
कथ्यात्मक को किसी विशेष नोड को या किसी निर्दिष्ट मान के साथ निहित नोड को खोजने के लिए उपयोग किया जाता है।
कथ्यात्मक को वर्गांक में बंद किया गया है।
उदाहरण
नीचे दिए गए तालिका में हमने कुछ कथ्यात्मक पथ एक्सप्रेशन्स और उनके परिणाम को सूचीबद्ध किया है:
पथ एक्सप्रेशन | परिणाम |
---|---|
/bookstore/book[1] | bookstore एलीमेंट के सह-एलीमेंट में पहले book एलीमेंट को चुनें |
/bookstore/book[last()] | bookstore एलीमेंट के सह-एलीमेंट में आखिरी book एलीमेंट को चुनें |
/bookstore/book[last()-1] | bookstore एलीमेंट के सह-एलीमेंट में आखिरी दोनों में book एलीमेंट को चुनें |
/bookstore/book[position()<3] | bookstore एलीमेंट के सबसे पहले दो सह-एलीमेंट के book एलीमेंट को चुनें |
//title[@lang] | सभी अभियात्मक lang अभियात्मक के सभी title एलीमेंट को चुनें |
//title[@lang='eng'] | सभी title एलीमेंट को चुनें जिनका lang अभियात्मक मान eng है। |
/bookstore/book[price>35.00] | bookstore एलीमेंट के सभी book एलीमेंट को चुनें जिनमें price एलीमेंट का मूल्य 35.00 से अधिक है। |
/bookstore/book[price>35.00]/title | bookstore एलीमेंट में book एलीमेंट के सभी title एलीमेंट को चुनें जिनमें price एलीमेंट का मूल्य 35.00 से अधिक है। |
अज्ञात नोड को चुनें
XPath विकल्प को अज्ञात XML एलीमेंट को चुनने के लिए उपयोग किया जा सकता है।
विकल्प | वर्णन |
---|---|
* | किसी भी एलीमेंट नोड को मेल खाना |
@* | किसी भी अभियात्मक नोड को मेल खाना |
node() | किसी भी प्रकार के नोड को मेल खाना |
उदाहरण
नीचे दिए गए तालिका में हमने कुछ पथ एक्सप्रेशन्स और उनके परिणाम को सूचीबद्ध किया है:
पथ एक्सप्रेशन | परिणाम |
---|---|
/bookstore/* | bookstore एलीमेंट के सभी सह-एलीमेंट को चुनें। |
//*[@] | दस्तावेज़ में सभी एलीमेंट को चुनें। |
//title[@*] | सभी अभियात्मक title एलीमेंट को चुनें। |
कई पथ चुनें
पथ एक्सप्रेशन में '||' ऑपरेटर का उपयोग करके आप कई पथ चुन सकते हैं।
उदाहरण
नीचे दिए गए तालिका में हमने कुछ पथ एक्सप्रेशन्स और उनके परिणाम को सूचीबद्ध किया है:
पथ एक्सप्रेशन | परिणाम |
---|---|
//book/title | //book/price | book एलीमेंट के सभी title और price एलीमेंट को चुनें। |
//title | //price | दस्तावेज़ में सभी title और price तत्व को चुनें |
/bookstore/book/title | //price | bookstore एलीमेंट के तत्व के सभी title तत्व को और दस्तावेज़ में सभी price तत्व को चुनें |
- पिछला पृष्ठ एक्सपैथ नोड
- अगला पृष्ठ XPath अक्ष