XQuery 选择和过滤

XML ఉదాహరణ డాక్యుమెంట్

మేము దిగువన ఉన్న ఉదాహరణలో ఈ "books.xml" డాక్యుమెంట్ని మరియు పైన ఉన్న చాప్టర్లులో ఉపయోగించిన XML ఫైల్ని ఉపయోగించాము.

మీ బ్రౌజర్లో "books.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>