に変換することは可能nu.XOM.Element
ですorg.w3c.dom.Element
か?
XOM API を使用して XML を構築しようとしています。しかし、私のレガシー API のほとんどは、org.w3c.dom.Element
. だから、変換できるかどうか知りたいだけです。
ありがとうございました :)
XOM ドキュメント全体を対応する DOM ドキュメントに変換する方法を提供するクラスがありnu.xom.converters.DOMConverter
ますが、おそらく、W3CElement
は親なしでは存在できないため、個々の要素に対しては実行できません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);
}
}