我想在java中使用XQuery For Xml处理

RSi*_*ngh 5 java xml xpath xquery javax.xml

我想用来XQuery从java中的Xml中获取数据,但是我没有得到我需要为此添加的Jar.我在谷歌搜索,但没有任何有用的例子.例如,我有以下链接:

https://docs.oracle.com/database/121/ADXDK/adx_j_xqj.htm

然后我没有得到这里提到的jar文件.任何人都知道如何在Java中开始使用XQuery,这将是一个非常有用的例子.经过大量的搜索,我得到了这个链接,这是Xqjapi.jar与oracle数据库一起来的.

https://technology.amis.nl/2011/07/30/running-xquery-from-java-applications-using-the-xqj-api-and-the-oracle-xdk-implementation/

有没有我可以在Java中使用的开源API XQuery

Shr*_*ale 6

好吧,有另一种方法来获得所需JARS,你不需要为此安装oracle数据库.我在这个链接中找到了解决方案,

http://orafmwsoa.blogspot.co.at/2014/06/running-xquery-from-java-applications.html

但是您无需浏览整个链接,需要注意的是,JARSOracle XQuery for Hadoop实现所需的全部内容.

这是链接,

适用于Hadoop 2.4.1的Oracle XQuery

只需下载Oracle XQuery for Hadoop 4.1.0并提取并创建一个包含路径库的普通Java项目.

我从你的链接尝试了这个例子,它可以工作

import javax.xml.xquery.XQConnection;
import javax.xml.xquery.XQException;
import javax.xml.xquery.XQPreparedExpression;
import javax.xml.xquery.XQSequence;
import oracle.xml.xquery.OXQDataSource;


public class HelloWorld {

public static void main(String[] args) throws XQException {
    OXQDataSource ds = new OXQDataSource();
    XQConnection con = ds.getConnection();
    String query = "<hello-world>{1 + 1}</hello-world>";
    XQPreparedExpression expr = con.prepareExpression(query); 
    XQSequence result = expr.executeQuery();
    System.out.println(result.getSequenceAsString(null));

    result.close();
    expr.close();
    con.close();
}

}
Run Code Online (Sandbox Code Playgroud)

跟随JARS路径,

Apache的XMLBeans的

orai18n映射

oxquery

xmlparserv2_sans_jaxp_services

xqjapi

还有另一个建议,

  1. 我安装了Oracle Express Edition 11.2 OracleXE112_Win64并且它没有所需的JARS,XE可能具有有限的功能,因此请尝试安装不同的功能.
  2. 此处的链接此处在Java中嵌入XQuery建议使用SAXON XSLT和XQuery处理器.SAXON