java - 将 org.wc3.dom.Element Java 对象写入 javax.xml.stream.XMLStreamWriter 的最佳方法是什么?

标签 java xml

我需要将 org.wc3.dom.Element 对象写入 javax.xml.stream.XMLStreamWriter。

我在StaxUtils中找到了我所需要的东西cxf-common-utilities jar 的类别,其中有类似

的方法
writeDocument(org.w3c.dom.Document d, javax.xml.stream.XMLStreamWriter writer, boolean writeProlog, boolean repairing) 
writeNode(org.w3c.dom.Node n, javax.xml.stream.XMLStreamWriter writer, boolean repairing) 
writeElement(org.w3c.dom.Element e, javax.xml.stream.XMLStreamWriter writer, boolean repairing, boolean endElement) 
etc..

但是,这是一个相当具体的 jar,依赖于 stax-api jar 等......我宁愿不使用它。

我可以自己编写一个基于 StaxUtils 实现的实用程序,遍历 Element 并执行 writeStartElement(String)、writeCharacters(String) 和 writeEndElement 调用,但我宁愿使用现有的实用程序类。

除了 cxf-common-utilities jar 之外,有谁知道一些更基本的 xml util jar 包含类似的方法? 或者有没有一种更简单的方法可以在我没有看到的标准 JDK 类中执行此操作?

最佳答案

您可以使用identity Transformer来做到这一点从 DOMSourceStAXResult。源可以从Element构建,它​​不必是完整的Document

关于java - 将 org.wc3.dom.Element Java 对象写入 javax.xml.stream.XMLStreamWriter 的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12545708/

相关文章:

javascript - 了解 AJAX 的功能及其局限性

xml - 通过 VBA 将 XML 加载到 Excel

c# - C# 对象的前缀和命名空间

java - iReport 计算表达式时出错

java - 调用 zxing 扫描仪后,我返回到我的 Activity ,但在一个新实例中

java - ListView setOnItemClickListener 未执行

java - 让窗口跟踪组件在屏幕上的位置

java - 无法向 ArrayList 添加元素

java - LibGDX Tiled 获取碰撞时的对象属性

xml - 如何使用 XPath 忽略 namespace