使用Java中的XQueryCompiler仅提取值

时间:2013-03-28 14:38:13

标签: java xml xml-parsing xquery saxon

我使用以下代码从存储在字符串中的XML文件中获取一些结果。但xquerycompiler要求我将它们包含在<result></result>中。我可以不将它们括起来,只是将字符串输出?这是我的代码:

Configuration saxonConfig = new Configuration();
Processor processor = new Processor(saxonConfig);                    

    XQueryCompiler xqueryCompiler = processor.newXQueryCompiler();
    XQueryExecutable xqueryExec = xqueryCompiler.compile("<result>{/book/chapter}</result>");
    XQueryEvaluator xqueryEval = xqueryExec.load();
    xqueryEval.setSource(new SAXSource(new InputSource(new StringReader(xmltext))));
    XdmDestination destination = new XdmDestination();
    xqueryEval.setDestination(destination);
    xqueryEval.run();

    System.out.println(destination.getXdmNode());

1 个答案:

答案 0 :(得分:1)

为什么不将结果包装在'result'中,将元素放回字符串中,然后使用简单的子字符串函数去除前导<result>和尾随</result>