Select and Filter in XQuery
- 上一页 XQuery 添加
- 下一页 Functions in XQuery
XML sample dokumento
Magpapatuloy tayo sa mga halimbawa sa ibaba gamit ang "books.xml" na dokumento (ay ang parehong file na ginamit sa nakaraang mga kabanata).
Piliin at suriin ang mga elemento
Tulad ng nakita natin sa nakaraang mga kabanata, gumagamit tayo ng expression ng path o FLWOR upang piliin at suriin ang mga elemento.
Tingnan ang FLWOR expression sa ibaba:
magpa-for $x sa doc("books.xml")/bookstore/book where $x/price>30 order by $x/title ibabalik $x/title
- for
- (optional) Itataliwas ang variable sa bawat item na ibinabalik ng expression na may in
- let
- (optional)
- where
- (optional) Itakda ang isang kondisyon
- order by
- (optional) Itakda ang pagkakasunud-sunod ng resulta
- return
- tuturuan kung anong nilalaman na ibabalik sa resulta
statement ng for
Ang statement ng for ay maaaring itataliwas ang variable sa bawat item na ibinabalik ng expression na may in. Ang statement ng for ay maaaring gumawa ng pag-iterasyon. Maaaring magkaroon ng maraming statement ng for sa isang FLWOR expression.
Kung gusto mong magpalakad ng paraan na magpalakad nang ilang beses sa isang statement ng for, maaring gamitin mo angpalatandaan sa :
para $x sa (1 sa 5) ibabalik <test>{$x}</test>
Resulta:
<test>1</test> <test>2</test> <test>3</test> <test>4</test> <test>5</test>
Panguluan na at makakatulong sa pagtutuos ng pag-iterasyon:
magpa-for $x sa $i in doc("books.xml")/bookstore/book/title ibabalik <book>{$i}. {data($x)}</book>
Resulta:
<book>1. Bawat araw na Italyano</book> <book>2. Harry Potter</book> <book>3. XQuery Kick Start</book> <book>4. Learning XML</book>
Sa paraan ng for statement din.Maaaring magkaroon ng maraming expression sa in.Maaaring gamitin ang kumahatid upang hatiin ang bawat expression sa in.
magpa-for $x sa (10,20), $y sa (100,200) ibabalik <test>x={$x} and y={$y}</test>
Resulta:
<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>
Ang palit na let:
Ang palit na let ay nagbibigay ng kapangyarihan sa pag-asign ng variable, at makakaiwas sa pagpapaubos ng kaparehong ekspresyon nang madalas. Ang palit na let ay hindi nagdudulot ng pag-iterasyon.
mag-asign si $x := (1 to 5) ibabalik <test>{$x}</test>
Resulta:
<test>1 2 3 4 5</test>
Ang ayusin na palit:
Ang ayusin na palit ay ginagamit upang itukoy isang o ilang kondisyon (criteria) ng resulta.
saan $x/price>30 at $x/price<100
Ang ayusin na palit:
Ang ayusin na palit ay ginagamit upang tukuyin ang pagkakaparehong ng resulta. Dito, gusto naming ayusin ang resulta ayon sa category at title:
magpa-for $x sa doc("books.xml")/bookstore/book ayusin sa $x/@category, $x/title ibabalik $x/title
Resulta:
<title lang="en">Harry Potter</title> <title lang="fil">Bawat araw na Italyano</title> <title lang="en">Learning XML</title> <title lang="en">XQuery Kick Start</title>
Ang ibabalik na palit:
Ang ibabalik na palit ay nagtutukoy sa nilalalagay na ibabalik.
magpa-for $x sa doc("books.xml")/bookstore/book ibabalik $x/title
Resulta:
<title lang="fil">Bawat araw na Italyano</title> <title lang="en">Harry Potter</title> <title lang="en">XQuery Kick Start</title> <title lang="en">Learning XML</title>
- 上一页 XQuery 添加
- 下一页 Functions in XQuery