是否可以将nu.XOM.Element
转换为org.w3c.dom.Element
?将nu.XOM.Element转换为org.w3c.dom.Element
我试图使用XOM API构建XML。但是我的传统API中很少有人期望org.w3c.dom.Element
。所以,我只想知道我是否可以转换。
谢谢:)
是否可以将nu.XOM.Element
转换为org.w3c.dom.Element
?将nu.XOM.Element转换为org.w3c.dom.Element
我试图使用XOM API构建XML。但是我的传统API中很少有人期望org.w3c.dom.Element
。所以,我只想知道我是否可以转换。
谢谢:)
还有就是nu.xom.converters.DOMConverter
类,它提供将整个文档XOM到相应的DOM文档的一种方式,但你不能对单个元素做它,可能是因为W3C Element
没有父母的话不能存在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);
+1,因为指示如何获取当前需要的DOMImplementation。我不知道为什么XOM本身不会将其作为默认设置。 – Kaitsu 2013-03-13 11:57:07
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);
}
}
我猜它的另一种方式 - DOMConverter转换W3C到XOM的。 – HanuAthena 2010-06-22 11:28:43
@HanuAthena:它既可以。有一种方法可以实现XOM-> DOM – skaffman 2010-06-22 11:33:33
对不起,我无法弄清楚是哪种方法 - http://www.xom.nu/apidocs/index.html?nu/xom/converters/DOMConverter.html – HanuAthena 2010-06-22 11:41:08