Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Saxon 9.6.0.7版本还需要Saxon dom吗?_Java_Xslt_Dom_Saxon - Fatal编程技术网

Java Saxon 9.6.0.7版本还需要Saxon dom吗?

Java Saxon 9.6.0.7版本还需要Saxon dom吗?,java,xslt,dom,saxon,Java,Xslt,Dom,Saxon,我正在升级saxon依赖项的版本,项目无法运行,因为我正在使用DOMSource实例进行转换 public String getXML(Node objNode) throws Exception{ Transformer t = ThreadLocalHelper.getDomTransformer().get(); t.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION,"yes"); StringWriter w

我正在升级saxon依赖项的版本,项目无法运行,因为我正在使用DOMSource实例进行转换

public String getXML(Node objNode) throws Exception{
     Transformer t = ThreadLocalHelper.getDomTransformer().get();
     t.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION,"yes");
     StringWriter w = new StringWriter(4096);
     t.transform(new DOMSource(objNode), new StreamResult(w));
     return w.toString();
}
在saxon 9.6中,还有另一种转换节点/文档的方法吗

谢谢

我正在使用:

ByteArrayOutputStream bos = new ByteArrayOutputStream();
Result result = new StreamResult(bos);

// Transform into HTML
try {
    transformer.transform(xmlDocument, result);
} catch (TransformerException e) {
    // do stuff
}
使用xmlDocument作为StreamSource:

xmlDocument = new StreamSource(new ByteArrayInputStream(xml.getBytes(encoding)))

使用saxon 9.6.0-7

时,问题是我接收到一个需要转换的节点对象。我可以将一个节点强制转换为streamSource吗?这段代码应该“开箱即用”,包括Saxon HE在内的所有Saxon版本。它怎么会失败?(但是,请注意,使用DOM进行Saxon输入要比允许Saxon使用自己的原生树格式慢得多。)您提到的“Saxon DOM”表明您以前可能使用过一个旧的Saxon版本,其中DOM支持代码是单独JAR的一部分?这种分离是为了处理JDK版本之间不再相关的历史不兼容性,所以DOM代码被集成回主JAR文件中。关于DOMSource,我不知道其他方法来进行转换,因为我需要转换一个节点对象。是的,我使用的是9.1版本。我得到了这个错误:原因是:java.lang.IllegalArgumentException:当使用DOMSource时,saxon9-dom.jar必须位于类路径上。Saxon dom支持在9.1中位于单独的jar文件中,但在9.6中不再是这种情况。您引用的消息来自旧版本。