0

嗨,我正在使用 saxon 在 java 中运行 xquery。我想以 xml 格式获取字符串中的结果,以将此结果传递给字符串变量并将其转换为 Json 格式。问题是我无法将结果作为字符串。任何想法谢谢。

 StaticQueryContext sqc= c.newStaticQueryContext();
       DynamicQueryContext dqc =new DynamicQueryContext(c); 
//     Processor processor = new Processor(sqc);
       final XQueryExpression exp = sqc.compileQuery( queryFinal  ) ;

        InputStream is = new ByteArrayInputStream( xmlText.getBytes( Charset.defaultCharset() ) );
        InputSource XMLSource=new InputSource(is);
        SAXSource SAXs=new SAXSource(XMLSource); 
        DocumentInfo DI=sqc.buildDocument(SAXs);
        dqc.setContextNode(DI);

         Properties props=new Properties();
           props.setProperty(OutputKeys.METHOD,"xml");
           props.setProperty(OutputKeys.INDENT,"yes");

       exp.run(dqc,new StreamResult (destStream),props);
4

1 回答 1

1

/// 一切如上,只需将最后一行改为....

StringWriter stringWriter = new StringWriter();

exp.run(dqc,new StreamResult (stringWriter),props);

字符串结果 = stringWriter.toString();

System.out.println("结果:" + 结果);

于 2013-02-12T02:21:28.370 回答