Ví dụ về XQuery
Chúng ta 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ụ về XML
Chúng tôi sẽ sử dụng tài liệu XML sau trong các ví dụ dưới đây.
"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 thế nào để chọn các 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 được sử dụng để chọn tất cả các phần tử tiêu đề trong tệp "books.xml":
doc("books.xml")/bookstore/book/title
(/ bookstore chọn phần tử hiệu sách, / book chọn tất cả các phần tử sách trong phần tử hiệu sách và / title chọn tất cả các phần tử tiêu đề trong mỗi phần tử sách)
XQuery ở trên sẽ trích xuất những thứ 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>
Dự đoán
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 đượ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ứ sau:
<book category="CHILDREN">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>