Ví dụ về XQuery
Hãy tìm hiểu một số XQuery cơ bản bằng cách xem một ví dụ.
Tài liệu ví dụ XML
Chúng tôi sẽ sử dụng tài liệu XML sau trong các ví dụ bên dưới.
"books.xml":
<?xml version="1.0" encoding="UTF-8"?>
<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>
Xem tệp "books.xml" trong trình duyệt của bạn .
Làm cách nào để chọn nút từ "books.xml"?
Chức năng
XQuery sử dụng các hàm để trích xuất dữ liệu từ các tài liệu XML.
Hàm doc() được sử dụng để mở tệp "books.xml":
doc("books.xml")
Biểu thức đường dẫn
XQuery sử dụng các biểu thức đường dẫn để điều hướng qua các phần tử trong tài liệu XML.
Biểu thức đường dẫn sau đây được sử dụng để chọn tất cả các thành phần tiêu đề trong tệp "books.xml":
doc("books.xml") /bookstore/book/title
(/bookstore chọn thành phần hiệu sách, /book chọn tất cả thành phần sách trong thành phần hiệu sách và /title chọn tất cả thành phần tiêu đề trong mỗi thành phần sách)
XQuery ở trên sẽ trích xuất những thông tin sau:
<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>
Vị ngữ
XQuery sử dụng các vị từ để giới hạn dữ liệu được trích xuất từ các tài liệu XML.
Vị từ sau đây được sử dụng để chọn tất cả các phần tử sách trong phần tử hiệu sách có phần tử giá có giá trị nhỏ hơn 30:
doc("books.xml")/bookstore/book [price<30]
XQuery ở trên sẽ trích xuất những thông tin sau:
<book category="CHILDREN">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>