XQuery 选择和过滤
XML ఉదాహరణ డాక్యుమెంట్
మేము దిగువన ఉన్న ఉదాహరణలో ఈ "books.xml" డాక్యుమెంట్ని మరియు పైన ఉన్న చాప్టర్లులో ఉపయోగించిన XML ఫైల్ని ఉపయోగించాము.
కెలిపించడం మరియు అనుసంధానం
ముంది చాప్టర్లులో చూసిన పద్ధతిలో, మేము పాథ్ ఎక్స్ప్రెషన్స్ లేదా FLWOR ప్రకటనలను ఉపయోగించి కెలిపించడానికి మరియు అనుసంధానం చేస్తున్నాము.
దిగువన ఉన్న FLWOR ప్రకటనను చూడండి:
for $x in doc("books.xml")/bookstore/book వార్ $x/price>30 ఆర్డర్ బై $x/title return $x/title
- ఫర్
- ఆప్షనల్ ఇన్ ప్రకటన ద్వారా ప్రతి ప్రతిపాదనకు ఒక వ్యాఖ్యను అనుబంధం చేయండి
- లెట్
- ఆప్షనల్
- వార్
- ఆప్షనల్ ఒక పరిస్థితిని నిర్దేశించు
- ఆర్డర్ బై
- ఆప్షనల్ ఫలితం యొక్క క్రమాన్ని నిర్ణయించు
- రిటర్న్
- ఫలితంలో తిరిగి చూపించవలసిన విషయాలను నిర్దేశించు
ఫర్ వాక్యం
ఫర్ వాక్యం వ్యాఖ్యలను ఇన్ ప్రకటన అనుబంధం చేస్తుంది. ఫర్ వాక్యం సమాంతరంగా ఉండేటట్లుగా ప్రాతిపదికన ఉంది. ఒకే FLWOR ప్రకటనలో బహుళ ఫర్ వాక్యాలు ఉండవచ్చు.
ఫర్ వాక్యంలో నిర్దిష్ట సంఖ్యలో పునరావృతం చేయడానికి, మీరు ఉపయోగించవచ్చుకీలక పదాలు కింది కింది
ఫర్ $x ఇన్ (1 కింది 5) return <test>{$x}</test>
ఫలితం:
<test>1</test> <test>2</test> <test>3</test> <test>4</test> <test>5</test>
కీలక పదం at ఇటీవలి క్రమబద్ధీకరణను కంటిపించడానికి ఉపయోగించవచ్చు:
for $x at $i in doc("books.xml")/bookstore/book/title return <book>{$i}. {data($x)}</book>
ఫలితం:
<book>1. రోజువారీ ఇటాలియన్</book> <book>2. హ్యారీ పాటర్</book> <book>3. XQuery కిక్ స్టార్ట్</book> <book>4. లెర్నింగ్ XML</book>
for 语句లో కూడా అదే విధంగాబహుళ in అభ్యాసాలను అనుమతిస్తారుప్రతి ఒక్క in అభ్యాసాన్ని కామా సెకన్డ్ తో వేరుచేయండి:
for $x in (10,20), $y in (100,200) return <test>x={$x} and y={$y}</test>
ఫలితం:
<test>x=10 and y=100</test> <test>x=10 and y=200</test> <test>x=20 and y=100</test> <test>x=20 and y=200</test>
let 语句
let 语句 అంటే వెరివేయి క్రమంగా వినియోగించవచ్చు, మరియు ఒకే అభ్యాసాన్ని బహుళంగా వినియోగించడానికి ఉపయోగించవచ్చు. let 语句 అనేది సమాంతర వినియోగానికి కారణబాధించదు.
let $x := (1 to 5) return <test>{$x}</test>
ఫలితం:
<test>1 2 3 4 5</test>
where 语句
where 语句 అంటే ఫలితాలకు ఒకటి లేదా ఎక్కువ పరిమితులను నిర్ధారిస్తుంది (criteria).
where $x/price>30 and $x/price<100
order by 语句
order by 语句 అంటే ఫలితాల క్రమబద్ధీకరణ ని నిర్ధారిస్తుంది. ఇక్కడ, మేము category మరియు title ని ఆధారంగా ఫలితాలను క్రమబద్ధీకరించాలి:
for $x in doc("books.xml")/bookstore/book order by $x/@category, $x/title return $x/title
ఫలితం:
<title lang="en">Harry Potter</title> <title lang="en">రోజువారీ ఇటాలియన్</title> <title lang="en">Learning XML</title> <title lang="en">XQuery Kick Start</title>
return 语句:
return 语句 అంటే తిరిగి ఇవ్వాల్సిన కంటెంట్ ని నిర్ధారిస్తుంది。
for $x in doc("books.xml")/bookstore/book return $x/title
ఫలితం:
<title lang="en">రోజువారీ ఇటాలియన్</title> <title lang="en">Harry Potter</title> <title lang="en">XQuery Kick Start</title> <title lang="en">Learning XML</title>