我需要将带有 dom4j 的 xml 构建转换为 w3c 文档,并且不知道如何做...
问问题
8837 次
3 回答
9
查看 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)
于 2012-04-20T19:23:33.180 回答
6
我假设你想从:
org.dom4j.Document
到:
org.w3c.dom.Document
Document document = ...;
String text = document.asXML();
从String to 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,你应该有你需要的东西。
于 2010-11-15T03:31:39.870 回答
6
如果您有大型文档,出于性能原因,您可能希望避免将文档序列化为文本。在这种情况下,最好直接使用 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();
}
于 2010-11-15T09:52:11.223 回答