Dom4J Document コンテンツを String に変換する方法を見つけようとしています。コンテンツを XML に変換するasXML() API があります。私の場合、Dom4J を使用して非 xml DOM 構造を編集し、コンテンツを文字列に変換しようとしています。w3cドキュメントの場合に可能であることは知っています。
任意のポインタをいただければ幸いです。
ありがとう
asXml() ドキュメント オブジェクトから文字列を返す
String text = document.asXML()
なぜできないのですか:
String result = dom.toXML().toString();
長い道のりをしたい場合は、TransformerFactoryを使用して DOM を必要なものに変換します。最初にすることは、Document をDOMSourceでラップすることです
DOMSource domSource = new DOMSource(document);
ストリームを String にルーティングできるようにStringWriterを準備します。
StringWriter writer = new StringWriter();
StreamResult streamResult = new StreamResult(writer);
DOM を提供されたソースに変換できるように、 TransformationFactoryを準備します。
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory .newTransformer();
transformer.transform(domSource, streamResult);
最後に、Stringを取得します。
String result = writer.toString();
それが役に立ったことを願っています!
どうすれば非 XML dom を持つことができますか?
Dom は本質的に XML ドキュメントです。
asXml() は XML である Dom の文字列表現を返します。
テキスト値だけを取得する必要がある場合は、要素の dom と getValue() を反復処理できますが、求めているのは xml 文字列のようです。