XPath సింథెక్స్
- ముంది పేజీ XPath నోడ్స్
- తదుపరి పేజీ 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 ఎలమెంట్స్ ఎంచుకోండి. |
- ముంది పేజీ XPath నోడ్స్
- తదుపరి పేజీ XPath అక్షాలు