我想使用XQuery
从java中的Xml中获取数据,但我没有得到我需要为此添加的Jar。我搜索谷歌很多,但没有任何有用的例子。例如,我得到以下链接:
https://docs.oracle.com/database/121/ADXDK/adx_j_xqj.htm
然后我没有得到这里提到的jar文件。任何人都知道如何在Java中开始使用XQuery,这将是一个非常有用的例子。经过大量的搜索,我得到了这个链接,它说Xqjapi.jar
附带了oracle数据库。
我是否可以在Java中使用任何开源API来使用XQuery
?
答案 0 :(得分:6)
嗯,还有另一种获取所需JARS
的方法,你不需要为此安装oracle数据库。我在这个链接中找到了解决方案,
http://orafmwsoa.blogspot.co.at/2014/06/running-xquery-from-java-applications.html
但是您无需浏览整个链接,需要注意的是,Oracle XQuery for Hadoop实现中提供了所有必需的JARS
。
这是链接,
Oracle XQuery for Hadoop 2.4.1
只需下载Oracle XQuery for Hadoop 4.1.0
,然后使用路径中的库提取并创建一个普通的Java Project。
我在您的链接中尝试了此示例,但它可以正常工作
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();
}
}
在路径中跟随JARS
,
阿帕奇-的xmlbeans
orai18n-mapping
oxquery
xmlparserv2_sans_jaxp_services
xqjapi
另一个建议,
OracleXE112_Win64
但它没有所需的JARS
,XE可能功能有限,所以请尝试安装不同的功能。答案 1 :(得分:0)
如果XML在filestore中,那么你需要一个基于文件存储的XQuery处理器,比如Saxon。