是否可以转换nu.XOM.Element
为org.w3c.dom.Element
?
我正在尝试使用 XOM API 构建 XML。但我的遗留 API 中很少有人期望org.w3c.dom.Element
. 所以,我只想知道我是否可以转换。
谢谢你 :)
有一个nu.xom.converters.DOMConverter
类,它提供了一种将整个 XOM 文档转换为相应的 DOM 文档的方法,但是您不能对单个元素执行此操作,可能是因为Element
没有 parent 就无法存在W3C Document
。
XOM 文件:
final nu.xom.Element root = new nu.xom.Element("root");
root.appendChild("Hello World!");
final nu.xom.Document xomDoc = new nu.xom.Document(root);
使用 DOMConverter:
final DocumentBuilderFactory factory = DocumentBuilderFactory
.newInstance();
final DocumentBuilder builder = factory.newDocumentBuilder();
final DOMImplementation impl = builder.getDOMImplementation();
final Document w3cDoc= DOMConverter.convert(xomDoc, impl);
public static org.w3c.dom.Document xomToDom(Element elem) {
try {
elem = (Element)elem.copy();
return
DOMConverter.convert(new Document(elem),
DocumentBuilderFactory.newInstance().newDocumentBuilder().getDOMImplementation());
} catch (ParserConfigurationException e) {
throw new RuntimeException(e);
}
}