XPath సింథెక్స్

XPath ఉపయోగిస్తుంది XML పత్రంలో నోడ్లను లేదా నోడ్ల సమూహాన్ని ఎంచుకుంటుంది. నోడ్లు మార్గం (path) లేదా దశలు (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 పత్రంలో నోడ్లను ఎంచుకుంటుంది. నోడ్లు మార్గం (path) లేదా దశలు (steps) ద్వారా ఎంచుకునబడతాయి.

下面列出了最有用的路径表达式:

表达式 描述
nodename 选取此节点的所有子节点。
/ రూట్ నోడ్ను ఎంచుకొని.
// ప్రస్తుత ఎంపికను కలిగిన నోడ్ని నుండి డాక్యుమెంట్ లో ఉన్న నోడ్లను ఎంచుకొని, వాటిని స్థానం బట్టి ఎంచుకొనడానికి ఉపయోగించబడుతుంది.
. ప్రస్తుత నోడ్ని ఎంచుకొని.
.. ప్రస్తుత నోడ్ని కలిగిన ప్రాతిపదికన ఉన్న నోడ్ని ఎంచుకొని.
@ అంశాలను ఎంచుకొని.

ఉదాహరణ

ఈ పట్టికలో, మేము కొన్ని పద్ధతి సమాంతరాలను మరియు వాటి ఫలితాలను జాబితాభుక్తం చేశాము:

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

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

పద్ధతి ప్రారంభంలో మొదటి కాంకెయిన్ ఉంటే, అది అన్ని మెలకువలకు సంబంధించిన సమాంతరం ఉంటుంది!

bookstore/book బుక్‌స్టోర్ మెలకువలో ఉన్న ఉపమెలకువలను ఎంచుకొని, వాటిలో అన్ని book మెలకువలను ఎంచుకొని.
//book అన్ని book ఉపమెలకువలను ఎంచుకొని, వాటిని డాక్యుమెంట్ లో ఏ స్థానంలో ఉన్నా ఉండకూడదు.
bookstore//book బుక్‌స్టోర్ మెలకువలో ఉన్న అన్ని ఉపమెలకువలు అన్ని book మెలకువలను ఎంచుకొని, వాటిని బుక్‌స్టోర్ కింద ఏ స్థానంలో ఉన్నా ఉండకూడదు.
//@lang అన్ని లాంగ్ అనే అంశం కలిగిన అంశాలను ఎంచుకొని.

పద్ధతి (Predicates)

పద్ధతి ఒక నిర్దిష్ట నోడ్ని లేదా నిర్దిష్ట విలువను కలిగిన నోడ్ని కనుగొనడానికి ఉపయోగించబడుతుంది.

పద్ధతి కొరకు కప్పటిలో ఉంటుంది.

ఉదాహరణ

ఈ పట్టికలో, మేము కొన్ని పద్ధతి సమాంతరాలను మరియు వాటి ఫలితాలను జాబితాభుక్తం చేశాము:

పాథ్ ఎక్స్ప్రెషన్ ఫలితం
/bookstore/book[1] బుక్‌స్టోర్ ఉపమెలకువలో ఉన్న మొదటి book మెలకువను ఎంచుకొని.
/bookstore/book[last()] బుక్‌స్టోర్ ఉపమెలకువలో ఉన్న చివరి book మెలకువను ఎంచుకొని.
/bookstore/book[last()-1] బుక్‌స్టోర్ ఉపమెలకువలో ఉన్న చివరి రెండవ book మెలకువను ఎంచుకొని.
/bookstore/book[position()<3] బుక్‌స్టోర్ మెలకువలో ఉన్న మొదటి రెండు ఉపమెలకువలు అన్ని book మెలకువలను ఎంచుకొని.
//title[@lang] అన్ని లాంగ్ అనే అంశం కలిగిన title మెలకువలను ఎంచుకొని.
//title[@lang='eng'] అన్ని title మెలకువలను ఎంచుకొని, వాటిలో లాంగ్ అనే అంశం ఉన్న వాటిని ఎంచుకొని.
/bookstore/book[price>35.00] బుక్‌స్టోర్ మెలకువలో ఉన్న అన్ని book మెలకువలను ఎంచుకొని, వాటిలో ప్రైస్ మెలకువల విలువలు 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 ఎలమెంట్స్ ఎంచుకోండి.