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

时间:2012-09-22 16:39:41

标签: java xml

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

我在StaxUtilscxf-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类中有更简单的方法吗?

1 个答案:

答案 0 :(得分:2)

您可以使用DOMSourceStAXResultElement执行此操作。来源可以从Document构建,也不一定是完整的{{1}}。