首页 文章

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

提问于
浏览
5

我想使用 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中使用 XQuery 的开源API?

2 回答

  • 6

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

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

    但是你不需要经历整个链接,需要注意的是,所有必要的 JARS 都可以从Oracle XQuery for Hadoop实现获得 .

    这是链接,

    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

    apache-xmlbeans orai18n-mapping oxquery xmlparserv2_sans_jaxp_services xqjapi

    还有另一个建议,

    • 我安装了Oracle Express Edition 11.2 OracleXE112_Win64 并且它没有所需的 JARS ,XE可能具有有限的功能,所以尝试安装不同的一个 .

    • 此处此链接Embedding XQuery in Java建议使用SAXON XSLT和XQuery处理器 . SAXON

  • 0

    如果XML在文件存储中,那么您需要一个基于文件存储的XQuery处理器,例如Saxon .

相关问题