📜  查询 |安装和示例

📅  最后修改于: 2022-05-13 01:56:18.683000             🧑  作者: Mango

查询 |安装和示例

XQuery: XQuery 是用于查询 XML 数据的语言。它用于检索以 XML 格式存储的信息。 XML 的 XQuery 类似于数据库的 SQL。它可用于 XML 数据库、包含 XML 格式数据或 XML 文档的关系数据库。 XQuery 由 W3C 设计,于 2007 年首次出现。它是W3C 于 2014 年 4 月 8 日提出的建议,已被所有主要数据库支持。
Xquery 的用途:

  • 从数据库中提取要用于 Web 服务(如 SoapUI)的信息。
  • 接收要与应用程序集成一起使用的数据表单数据库。
  • 生成汇总报告。
  • 从 XML 文件中检索相关信息。

安装和示例:

  1. 下载撒克逊 jar 文件。
  2. 解压 zip 文件并将所有 jar 文件复制到 java_base_path/JRE/lib/ext。
  3. 现在使用以下代码创建一个 XML 文件,并将其命名为“article.xml”。
html


    
   
      Introduction to Java       Khushi       05/11/2010    
     
      Introduction to Python       Suman       10/10/2011    
     
      Introduction to XML       KR       06/09/2012    
     
      Introduction to HTML       Bijay       03/04/2015    
    


Java
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
 
import javax.xml.xquery.XQConnection;
import javax.xml.xquery.XQDataSource;
import javax.xml.xquery.XQException;
import javax.xml.xquery.XQPreparedExpression;
import javax.xml.xquery.XQResultSequence;
 
import com.saxonica.xqj.SaxonXQDataSource;
 
class example {
    public static void main(String[] args)
    {
        try {
            solve();
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }
    private static void solve() throws
            FileNotFoundException, XQException {
        InputStream inputStream =
            new FileInputStream(new File("articles.xqy"));
 
        XQDataSource ds = new SaxonXQDataSource();
        XQConnection conn = ds.getConnection();
        XQPreparedExpression exp =
            conn.prepareExpression(inputStream);
 
        XQResultSequence result = exp.executeQuery();
 
        while (result.next()) {
            System.out.println(result.getItemAsString(null));
        }
    }
}


现在使用您选择的任何名称创建一个Java文件(在我的例子中为Java ),并在其中添加以下代码。

Java

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
 
import javax.xml.xquery.XQConnection;
import javax.xml.xquery.XQDataSource;
import javax.xml.xquery.XQException;
import javax.xml.xquery.XQPreparedExpression;
import javax.xml.xquery.XQResultSequence;
 
import com.saxonica.xqj.SaxonXQDataSource;
 
class example {
    public static void main(String[] args)
    {
        try {
            solve();
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }
    private static void solve() throws
            FileNotFoundException, XQException {
        InputStream inputStream =
            new FileInputStream(new File("articles.xqy"));
 
        XQDataSource ds = new SaxonXQDataSource();
        XQConnection conn = ds.getConnection();
        XQPreparedExpression exp =
            conn.prepareExpression(inputStream);
 
        XQResultSequence result = exp.executeQuery();
 
        while (result.next()) {
            System.out.println(result.getItemAsString(null));
        }
    }
}

注意:将文件保存为 .与 article.xml 在同一目录中的Java扩展名。

使用以下代码创建一个名为“articles.xqy”的 XQuery 文件,并将其保存在与 article.xml 相同的目录中。

for $x in doc("article.xml")/articles/article
return $x/title

现在在 article.xml 所在的同一文件夹中打开命令提示符,并在那里输入以下命令。

javac example.java
java example

从输出中可以看出,它将打印存储在 XML 文件中的所有文章数据的标题。

现在,您已经成功地执行了您的第一个 XQuery 代码。