xml ファイルの読み取りと書き込みに Java で org.w3c と javax.xml.parsers を使用しています。xml ファイルを読み取ると、エスケープされた改行が実際の改行に置き換えられます。コンテンツをファイルに書き戻すと、エスケープが失われ、ファイルのコンテンツが意図せず変更されます。それで
<somenode>First line. Second line</somenode>
次のものに置き換えられます。
<somenode>First line.
Second line.</somenode>
xml コンテンツをディスクに書き戻す前に、次のことを試しました。
String content = node.getTextContent().replace("\n"," ");
node.setTextContent(content);
もちろん動作せず、 にエスケープされます。ファイルで。
ファイルに CDATA タグを散らかしたくない!
私がやりたいのは合法的な XML 出力なので、それを行う方法が必要です。
アイデアをお寄せいただきありがとうございます:)