2

xml ファイルの読み取りと書き込みに Java で org.w3c と javax.xml.parsers を使用しています。xml ファイルを読み取ると、エスケープされた改行が実際の改行に置き換えられます。コンテンツをファイルに書き戻すと、エスケープが失われ、ファイルのコンテンツが意図せず変更されます。それで

<somenode>First line.&#10;Second line</somenode>

次のものに置き換えられます。

<somenode>First line.
Second line.</somenode>

xml コンテンツをディスクに書き戻す前に、次のことを試しました。

String content = node.getTextContent().replace("\n","&#10;");
node.setTextContent(content);

もちろん動作せず、&#10; にエスケープされます。ファイルで。

ファイルに CDATA タグを散らかしたくない!

私がやりたいのは合法的な XML 出力なので、それを行う方法が必要です。

アイデアをお寄せいただきありがとうございます:)

4

1 に答える 1

0

JAXB Marshaller の次のプロパティを設定することによってそれを行います。

marshaller.setProperty("jaxb.encoding", "Unicode");

于 2013-07-05T13:05:16.510 に答える