【问题标题】:Java: transform document to an existing document: merge?Java:将文档转换为现有文档:合并?
【发布时间】:2010-11-24 13:24:31
【问题描述】:

我缓存了一个 XSLT 并在一个循环中将它应用于多个文档。每个结果都有相同的格式。

DocumentResult allResults = new DocumentResult();

for (iter = requests.iterator(); iter.hasNext();) {
  transformer.transform(new DocumentSource(request), allResults);
}

return allResults;

虽然代码不起作用,但它应该显示我正在尝试尝试的内容:具有相同 ID 值的请求应该被合并或附加。

有没有办法实现这一点而无需手动执行合并?

【问题讨论】:

    标签: java xml transform


    【解决方案1】:

    我建议您查看 StreamResult(示例 herehere)。如果您在开始时创建适当的 ByteArrayOutputStream,您应该能够从 StreamResult 追加)。

    【讨论】:

    • 如何避免开始/结束根标签?
    • 不清楚您是否希望将它们删除 :-) 您必须编写逻辑来(例如)提取根的子节点。取决于你想要什么,流或 SAX 应该是合适的
    【解决方案2】:

    我将实现 org.xml.sax.ContentHandler 将所有传入的 SAX 事件传递给 SAXResult 的底层内容处理程序,并跳过所有不必要的事件(startDocumentendDocumentstartElement 用于根标签。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 2017-01-22
      • 2011-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多