0

まったく同じ問題について質問して申し訳ありませんが、今私はしたいと思います:

次のようなタグを含む dom4j ドキュメントを作成します。

<Field>\r\n some text</Field>

xml ファイルに変換しますが、\r\nエスケープする必要があります&#13;&#10;

org.dom4j.Document.asXml()

動作しません。

4

2 に答える 2

1

それがテキスト ノード内の CRLF シーケンス (単なるリテラル バックスラッシュ-r-バックスラッシュ-n ではない) であると仮定すると、XML シリアライザーにそれらを として書き込むよう説得すること&#13;&#10;はできません。に。ドキュメントは、エスケープするかどうかに関係なく、XML 用語で完全に同等です。&#13;&#10;属性値の CRLF シーケンスをそのままエスケープする必要がある唯一の場所。

本当にこの出力を生成する必要がある場合は、制御コードをエスケープするための特別な規則に従った独自の XML シリアライザーを作成する必要があります。ただし、外部ツールが CRLF シーケンスを含む XML 要素を読み取ることができないためにこれを行っている場合は、そのツールの修正に専念する必要があります。テキスト コンテンツの改行を処理できない場合、そのツールは破損しており、適切な XML パーサーではないためです。 .

于 2010-02-12T14:32:31.773 に答える
0

ツリーをたどって、String.replace を Text ノードに適用します。

于 2010-02-12T14:25:17.627 に答える