Java DOM でノードの内部 XML を文字列として取得する 質問する

Java DOM でノードの内部 XML を文字列として取得する 質問する

次のような XML org.w3c.dom.Node があります。

<variable name="variableName">
    <br /><strong>foo</strong> bar
</variable>

<br /><strong>foo</strong> bar部品を文字列として取得するにはどうすればいいですか?

ベストアンサー1

同じ問題です。これを解決するために、次のヘルパー関数を作成しました:

public String innerXml(Node node) {
    DOMImplementationLS lsImpl = (DOMImplementationLS)node.getOwnerDocument().getImplementation().getFeature("LS", "3.0");
    LSSerializer lsSerializer = lsImpl.createLSSerializer();
    NodeList childNodes = node.getChildNodes();
    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < childNodes.getLength(); i++) {
       sb.append(lsSerializer.writeToString(childNodes.item(i)));
    }
    return sb.toString(); 
}

おすすめ記事