![](/img/trans.png)
[英]XPath evaluation in dom4j Document created from org.w3c.dom.Document doesn't work as expected
[英]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.