Looking for xquery Answers? Try Ask4KnowledgeBase
Looking for xquery Keywords? Try Ask4Keywords

xquery開始使用xquery


備註

本節概述了xquery是什麼,以及開發人員可能想要使用它的原因。

它還應該提到xquery中的任何大型主題,並鏈接到相關主題。由於xquery的Documentation是新的,因此您可能需要創建這些相關主題的初始版本。

提取XML數據

為了解決XML輸入中的數據,XQuery使用XPath
它可以輕鬆過濾數據並對其進行重組。

給出以下XML輸入

<?xml version="1.0" encoding="UTF-8"?>
<applications>
  <application>
    <id>MyApp</id>
    <name>My Application</name>
    <version>1.0</version>
  </application>
  <application>
    <id>SomeApp</id>
    <name>Some Application</name>
    <version>4.2</version>
  </application>
  <application>
    <id>TheOtherApp</id>
    <name>That one</name>
    <version>13.37</version>
  </application>
</applications>    
 

以下XQuery代碼將提取id為MyApp 的應用程序:

/applications/application[id='MyApp']
 

它生成以下XML文檔:

<?xml version="1.0" encoding="UTF-8"?>
<application>
  <id>MyApp</id>
  <name>My Application</name>
  <version>1.0</version>
</application>
 

此代碼將提取版本低於10的應用程序,並將它們輸出到<oldApplications> 標記中:

    <oldApplications>{/applications/application[version < 10]}</oldApplications> 
 

它採用以下XML文檔:

<?xml version="1.0" encoding="UTF-8"?>
<oldApplications>
  <application>
    <id>MyApp</id>
    <name>My Application</name>
    <version>1.0</version>
  </application>
  <application>
    <id>SomeApp</id>
    <name>Some Application</name>
    <version>4.2</version>
  </application>
</oldApplications>   
 

安裝或設置

有關獲取xquery設置或安裝的詳細說明。

總結價值

給出以下XML文檔:

<?xml version="1.0" encoding="UTF-8"?>
<values>
  <value>1</value>
  <value>3</value>
  <value>5</value>
</values>
 

我們可以使用以下XQuery生成描述值總和的XML文檔:

<total>{sum(/values/value)}</total>
 

這將產生以下文件:

<?xml version="1.0" encoding="UTF-8"?>
<total>9</total>
 

編寫靜態XML

XML數據可以按原樣編寫,也可以在輸出中找到。
以下代碼可被視為有效的XQuery:

<application>
  <id>MyApp</id>
  <name>My Application</name>
  <version>1.0</version>
</application>
 

請注意,您的XQuery代碼必須生成有效的XML文檔,因此僅限於在單個根標記中輸出其所有數據。

此外,默認情況下,如果省略,大多數XQuery實現都會添加XML標頭。例如,上面的代碼會產生這樣的結果:

<?xml version="1.0" encoding="UTF-8"?>
<application>
  <id>MyApp</id>
  <name>My Application</name>
  <version>1.0</version>
</application>