Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.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 用S9API序列化程序序列化DOM文档的惯用方法是什么_Java_Saxon_S9api - Fatal编程技术网

Java 用S9API序列化程序序列化DOM文档的惯用方法是什么

Java 用S9API序列化程序序列化DOM文档的惯用方法是什么,java,saxon,s9api,Java,Saxon,S9api,使用Saxon S9API,将DOM文档序列化为输出流的惯用方法是什么?差不多 Serializer result = processor.newSerializer(out); XdmNode source = processor.newDocumentBuilder().build(new DOMSource(doc)); result.serializeNode(source); 但是S9API中有没有更正确的方法?您不想执行DocumentBuilder.build(),因为这将使用默

使用Saxon S9API,将DOM文档序列化为输出流的惯用方法是什么?差不多

Serializer result = processor.newSerializer(out);
XdmNode source = processor.newDocumentBuilder().build(new DOMSource(doc));
result.serializeNode(source);

但是S9API中有没有更正确的方法?

您不想执行
DocumentBuilder.build()
,因为这将使用默认树模型(通常是TinyTree)将整个DOM复制到树中。相反,您可以使用
DocumentBuilder.wrap()
(提供DOM文档节点),它只是在DOM节点周围创建一个XdmNode作为包装器

因此:

Serializer result = processor.newSerializer(out);
XdmNode source = processor.newDocumentBuilder().wrap(doc);
result.serializeNode(source);