次のような複数行のテキスト ノードを持つ Web サイトから xml ファイルを取得する Java アプリケーションがあります。
<root>
<node>info</node>
<mlnode>some
multi
line
text</mlnode>
</root>
私のコードは現在次のようになっています。
Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new InputSource(new StringReader(xml)));
NodeList nList = doc.getElementsByTagName("mlnode");
Node nNode = nList.item(0);
System.out.println(nNode.getTextContent());
悲しいことに、このコードは複数行のコンテンツを 1 行にまとめます: somemultilinetext
. 改行を保存したいと思います。そして、すべてのオペレーティング システム (主に Windows と Linux) で改行を維持したいと考えています。
それ、どうやったら出来るの?
編集:この質問は正しいインデントに関するものではありません。ノードの内容に改行を保持するだけです。そのノードのコンテンツは構成ファイルの一部であり、改行で区切る必要があるため、改行を元の場所に保持することが重要です。
私は正しいインデントを気にしません(もしそうなら、正しくインデントする方法を説明する十分な情報源が SO や他のフォーラムにあることを知っています)。