XQuery-Beispiel
- Previous Page Einführung in XQuery
- Next Page XQuery FLWOR
In diesem Abschnitt lernen wir durch die Untersuchung eines Beispiels einige grundlegende XQuery-Syntax.
XML-Beispiel-Dokument
Wir werden in den folgenden Beispielen diesen XML-Dokument verwenden.
"books.xml" :
<?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book category="COOKING"> <title lang="en">Everyday Italian</title> <author>Giada De Laurentiis</author> <year>2005</year> <price>30.00</price> </book> <book category="CHILDREN"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> <book category="WEB"> <title lang="en">XQuery Kick Start</title> <author>James McGovern</author> <author>Per Bothner</author> <author>Kurt Cagle</author> <author>James Linn</author> <author>Vaidyanathan Nagarajan</author> <year>2003</year> <price>49.99</price> </book> <book category="WEB"> <title lang="en">Learning XML</title> <author>Erik T. Ray</author> <year>2003</year> <price>39.95</price> </book> </bookstore>
Wie wählt man Knoten aus "books.xml" aus?
Funktion
XQuery verwendet Funktionen, um Daten aus dem XML-Dokument zu extrahieren.
doc() wird verwendet, um die Datei "books.xml" zu öffnen:
doc("books.xml")
Pfadausdruck
XQuery verwendet Pfadausdrücke, um im XML-Dokument durch Elemente zu navigieren.
Die folgenden Pfadausdrücke werden verwendet, um alle title-Elemente im "books.xml"-Datei zu wählen:
doc("books.xml")/bookstore/book/title
(/bookstore wählt das bookstore-Element aus, /book wählt alle book-Elemente unter dem bookstore-Element und /title wählt alle title-Elemente unter jedem book-Element)
Der obere XQuery kann folgende Daten extrahieren:
<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>
Prädikat
XQuery verwendet Prädikate, um die aus dem XML-Dokument extrahierten Daten zu begrenzen.
Die folgenden Prädikate werden verwendet, um alle book-Elemente unter dem bookstore-Element auszuwählen und sicherzustellen, dass der Wert des price-Elements kleiner als 30 ist:
doc("books.xml")/bookstore/book[Preis<30]
Der obere XQuery kann die folgenden Daten extrahieren:
<book category="CHILDREN"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book>
- Previous Page Einführung in XQuery
- Next Page XQuery FLWOR