将nu.XOM.Element转换为org.w3c.dom.Element

时间:2010-06-22 11:10:21

标签: java xml xom

是否可以将nu.XOM.Element转换为org.w3c.dom.Element

尝试使用XOM API构建XML。但我的遗留API很少需要org.w3c.dom.Element。所以,我只是想知道我是否可以转换。

谢谢你:)

3 个答案:

答案 0 :(得分:1)

nu.xom.converters.DOMConverter类,它提供了一种将整个XOM文档转换为相应DOM文档的方法,但是你不能为单个元素做这些,可能是因为W3C Element可以没有父Document就存在。

答案 1 :(得分:1)

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);

答案 2 :(得分:0)

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);
    }
}