XPath సింటాక్స్

XPath ఎక్స్‌మ్ల్ డాక్యుమెంట్లో నోడ్లను లేదా నోడ్స్ సెట్లను ఎంచుకొనుతుంది. నోడ్లు పాథ్ లేదా స్టాప్స్ ద్వారా ఎంచుకొనబడతాయి.

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 ఎక్స్‌మ్ల్ డాక్యుమెంట్లో పాథ్ ఎక్స్‌ప్రెషన్స్ ద్వారా నోడ్లను ఎంచుకొనుతుంది. నోడ్లు పాథ్ లేదా స్టాప్స్ ద్వారా ఎంచుకొనబడతాయి.

ఇక్కడ అత్యంత ఉపయోగపడే పాథ్ ఎక్స్‌ప్రెషన్స్ జాబితా పొందాము:

ఎక్స్‌ప్రెషన్ వివరణ
nodename ఈ నోడ్ యొక్క అన్ని సబ్ నోడ్లను ఎంచుకొను.
/ రూట్ నోడ్ నుండి ఎంచుకొను.
// ప్రస్తుత ఎంపికలో ఉన్న నోడ్లను ఎంచుకొను, వాటి స్థానాన్ని పరిగణలోకి తీసుకొనకూడదు.
. ప్రస్తుత నోడ్ ఎంచుకొను.
.. ప్రస్తుత నోడ్ యొక్క పేరెంట్ నోడ్ ఎంచుకొను.
@ అటువంటి అనుబంధం ఎంచుకొను.

ఉదాహరణ

ఈ టేబుల్‌లో, మేము కొన్ని పాథ్ ఎక్స్‌ప్రెషన్స్ మరియు వాటి ఫలితాలను జాబితాభూతంగా పొందాము:

పథ ప్రకటన ఫలితం
bookstore బుక్‌స్టోర్ ఎలిమెంట్ యొక్క అన్ని సబ్ నోడ్లను ఎంచుకొను.
/bookstore

రూట్ ఎలిమెంట్ బుక్‌స్టోర్ ఎంచుకొను.

కామెంట్: ఉపదానం నుండి ప్రారంభించిన ఈ మార్గం ఎప్పటికీ కొన్ని ఎలిమెంట్లకు అబ్సొల్యూట్ పాథ్ అని ఉంటుంది!

bookstore/book బుక్‌స్టోర్ యొక్క సబ్ ఎలిమెంట్లను ఎంచుకొను అన్ని బుక్ ఎలిమెంట్లు.
//book డాక్యుమెంట్ లో ఏ స్థానంలో ఉన్నా అన్ని బుక్ సబ్ ఎలిమెంట్లను ఎంచుకొను.
bookstore//book బుక్‌స్టోర్ ఎలిమెంట్ యొక్క అనుచర అన్ని బుక్ ఎలిమెంట్లను ఎంచుకొను, వాటిని బుక్‌స్టోర్ కింద ఏ స్థానంలో ఉండకూడదు.
//@lang 选取名为 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 పుస్తకం ఎలిమెంట్ అన్ని title మరియు price ఎలిమెంట్స్ ను ఎంపిక చేయండి。
//title | //price 选取文档中的所有 title 和 price 元素。
/bookstore/book/title | //price 选取属于 bookstore 元素的 book 元素的所有 title 元素,以及文档中所有的 price 元素。