Xquery 被设计用来查询 XML 数据
http://www.w3school.com.cn/xquery/xquery_intro.asp
解釋XQuery最佳方式是這樣講:XQuery 相對于 XML 的關系,等同于 SQL 相對于數據庫表的關系。
XQuery 被設計用來查詢 XML 數據 - 不僅僅限于 XML 文件,還包括任何可以 XML 形態呈現的數據,包括數據庫。
您應該具備的基礎知識:
在您繼續學習之前,需要對下面的知識有基本的了解:
- HTML / XHTML
- XML / XML 命名空間
- XPath
如果您希望首先學習這些項目,請在我們的 首頁 訪問這些教程。
什么是 XQuery?
- XQuery 是用于 XML 數據查詢的語言
- XQuery 對 XML 的作用類似 SQL 對數據庫的作用
- XQuery 被構建在 XPath 表達式之上
- XQuery 被所有主要的數據庫引擎支持(IBM、Oracle、Microsoft等等)
- XQuery 是 W3C 標準。
XQuery 和 XML 查詢有關
XQuery 是用來從 XML 文檔查找和提取元素及屬性的語言。
這是一個 XQuery 解決實際問題的例子:
“從存儲在名為 cd_catalog.xml 的 XML 文檔中的 CD 集那里選取所有價格低于 10 美元的 CD 紀錄。”
XQuery 與 XPath
XQuery 1.0 和 XPath 2.0 共享相同的數據模型,并支持相同的函數和運算符。假如您已經學習了 XPath,那么學習 XQuery 也不會有問題。
您可以在我們的《XPath 教程》中有關 XPath 的知識。
XQuery - 應用舉例
XQuery 可被用來:
- 提取信息以便在網絡服務中使用
- 生成摘要報告
- 把 XML 數據轉換為 XHTML
- 為獲得相關信息而搜索網絡文檔
XQuery 是一個 W3C 推薦標準
XQuery 與多種 W3C 標準相兼容,比如 XML、Namespaces、XSLT、XPath 以及 XML Schema。
XQuery 1.0 在 2007年1月23日 被確立為 W3C 推薦標準。
如需獲得更多有關 W3C 的 XQuery 活動的信息,請閱讀我們的《W3C 教程》。
?
=======
XML 實例文檔
我們將在下面的例子中使用這個 XML 文檔。
"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>在您的瀏覽器中查看 "books.xml" 文件。
如何從 "books.xml" 選取節點?
函數
XQuery 使用函數來提取 XML 文檔中的數據。
doc() 用于打開 "books.xml" 文件:
doc("books.xml")路徑表達式
XQuery 使用路徑表達式在 XML 文檔中通過元素進行導航。
下面的路徑表達式用于在 "books.xml" 文件中選取所有的 title 元素:
doc("books.xml")/bookstore/book/title(/bookstore 選取 bookstore 元素,/book 選取 bookstore 元素下的所有 book 元素,而 /title 選取每個 book 元素下的所有 title 元素)
上面的 XQuery 可提取以下數據:
<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>謂語
XQuery 使用謂語來限定從 XML 文檔所提取的數據。
下面的謂語用于選取 bookstore 元素下的所有 book 元素,并且所選取的 book 元素下的 price 元素的值必須小于 30:
doc("books.xml")/bookstore/book[price<30]上面的 XQuery 可提取到下面的數據:
<book category="CHILDREN"><title lang="en">Harry Potter</title><author>J K. Rowling</author><year>2005</year><price>29.99</price> </book>?
總結
以上是生活随笔為你收集整理的Xquery 被设计用来查询 XML 数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Apache Camel简化SOA实施进
- 下一篇: JMX一步步来