繁体   English   中英

将dom4j docment转换为W3c文档

[英]convert dom4j docment to W3c document

我需要将带有dom4j的xml构建转换为w3c文档,并且不知道它是如何做的...

查看DOMWriter。 这对我有用:

import org.dom4j.DocumentHelper;    
import org.dom4j.io.DOMWriter;

org.dom4j.Document dom4jDoc = DocumentHelper.createDocument();    
org.w3c.dom.Document w3cDoc = new DOMWriter().write(dom4jDoc)

如果您有大型文档,则可能需要避免出于性能原因将文档序列化为文本。 在这种情况下,最好直接使用SAX事件进行转换:

private static final TransformerFactory transformerFactory =
                                           TransformerFactory.newInstance();

public static org.w3c.dom.Document toW3c(org.dom4j.Document dom4jdoc)
         throws TransformerException {

    SAXSource source = new DocumentSource(dom4jdoc);
    DOMResult result = new DOMResult(); 

    Transformer transformer = transformerFactory.newTransformer(); 

    transformer.transform(source, result);
    return (org.w3c.dom.Document) result.getNode();
}

我假设你想要离开:

org.dom4j.Document

至:

org.w3c.dom.Document

dom4j快速入门指南

Document document = ...;
String text = document.asXML();

从String到Document的JavaRanch示例

public static Document stringToDom(String xmlSource) 
        throws SAXException, ParserConfigurationException, IOException {
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    DocumentBuilder builder = factory.newDocumentBuilder();
    return builder.parse(new InputSource(new StringReader(xmlSource)));
}

结合2,你应该得到你需要的东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM