Das beste XQuery Auswählen und Filtern-Tutorial im Jahr 2024. In diesem Tutorial können Sie
XML-Instanz-Dokumente,Wählen und Filterelemente,für Aussage,lassen Aussage,wo Aussagen,Um nach Aussage,return-Anweisung:, lernen
XQuery Auswählen und Filtern
XML-Instanz-Dokumente
Im folgenden Beispiel werden wir diese "books.xml" (gleiche XML-Datei und den Abschnitt oben verwendet wird) zu verwenden Dokument.
Siehe "books.xml" Datei in Ihrem Browser .
Wählen und Filterelemente
Wie im vorigen Kapitel gesehen, verwenden wir den Ausdruck FLWOR oder einen Pfadausdruck auszuwählen und Filterelemente.
Betrachten Sie die folgende FLWOR Ausdruck:
for $x in doc("books.xml")/bookstore/book
where $x/price>30
order by $x/title
return $x/title
- für - (optional) zu jeder der gebündelten Gegenstände durch die Expression in einer Variablen zurück
- lassen - (optional)
- wo - (optional) gesetzt eine Bedingung
- Um durch - (optional) die Reihenfolge der Ergebnisse
- Rückkehr - die Bestimmungen in den Ergebnissen zurückgegeben Inhalt
für Aussage
Anweisung für die Variable jedes Element gebunden durch die in Ausdruck zurückgegeben. für Anweisung Iteration. Es kann für die gleiche Anweisung in einem FLWOR Ausdruck mehrfach sein.
Für eine bestimmte Anzahl von Malen in einer for-Anweisung in einer Schleife, können Sie Schlüsselwörter verwenden, um:
for $x in (1 to 5)
return <test>{$x}</test>
Ergebnisse:
<test>1</test>
<test>2</test>
<test>3</test>
<test>4</test>
<test>5</test>
Schlüsselwörter können die Iteration berechnet werden bei:
for $x at $i in doc("books.xml")/bookstore/book/title
return <book>{$i}. {data($x)}</book>
Ergebnisse:
<book>1. Everyday Italian</book>
<book>2. Harry Potter</book>
<book>3. XQuery Kick Start</book>
<book>4. Learning XML</book>
In der Erklärung ermöglicht auch mehr als ein Ausdruck. Bitte verwenden Sie ein Komma jeweils in Ausdruck zu trennen:
for $x in (10,20), $y in (100,200)
return <test>x={$x} and y={$y}</test>
Ergebnisse:
<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>
lassen Aussage
lassen Anweisung vollständige Verteilung variabel sein können, und vermeiden Sie den gleichen Ausdruck wiederholt. lassen Anweisung verursachen Iteration nicht.
let $x := (1 to 5)
return <test>{$x}</test>
Ergebnisse:
wo Aussagen
wo Anweisung wird verwendet, um das Ergebnis eines oder mehrerer Bedingungen (Kriterien) einzustellen.
where $x/price>30 and $x/price<100
Um nach Aussage
Um durch Anweisung, um die Ergebnisse einer vorbestimmten Reihenfolge zu sortieren. Hier wollen wir die Ergebnisse nach Kategorie und Titel zu sortieren:
for $x in doc("books.xml")/bookstore/book
order by $x/@category, $x/title
return $x/title
Ergebnisse:
<title lang="en">Harry Potter</title>
<title lang="en">Everyday Italian</title>
<title lang="en">Learning XML</title>
<title lang="en">XQuery Kick Start</title>
return-Anweisung:
return-Anweisung gibt den Inhalt zurück.
for $x in doc("books.xml")/bookstore/book
return $x/title
Ergebnisse:
<title lang="en">Everyday Italian</title>
<title lang="en">Harry Potter</title>
<title lang="en">XQuery Kick Start</title>
<title lang="en">Learning XML</title>