0

ElementTree を使用して XML ファイルを生成するときに問題が発生しました。属性内の空白に関する XML 規則により、属性内のすべての空白文字は、XML ファイルの解析時にスペースに正規化されます。しかし、数値エンティティはそうではありません。したがって、XML のメモリ内表現の属性値にタブ、\x09または などを\x0d\x0a含めるには、XML ファイルにそれぞれ	またはを含める必要があります


ただし、ElementTree は\x0a文字のみを数値エンティティとしてシリアル化しますが、eg \x09andはシリアル化しません。\x0dそれらは XML ファイル内の実際のタブまたは cr 文字として終了し、ElementTree 自体を含む準拠する XML プロセッサは通常のスペースを読み戻します。したがって、往復は不可能です。

これについて何かできることはありますか?ファイルの書き込みにElementTreeを使用しないことを除いて?

4

1 に答える 1

0

XML は、ほとんどの制御文字をエンティティとしてもサポートしていません。W3C 勧告を参照し、Charプロダクションを探してください。

情報をエンコードする必要があります。Base64 エンコーディングが最も一般的です。

于 2013-08-20T13:25:00.653 に答える