是否可以將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