2

テキスト ctrl からの入力を保存するために tinyxml を使用しています。ユーザーは好きなものをテキスト ボックスにコピーでき、xml ファイルに書き込まれます。新しい行が保存されず、 & 文字も保存されないことがわかりました。奇妙な部分は、tinyxml が警告なしにそれらを完全に破棄することです。& をテキストボックスに入れて保存すると、タグは次のようになります。

<textboxtext></textboxtext>

改行も完全に消えます。文字は一切保存されません。どうしたの?& などでそれらをエスケープする必要がある場合でも、なぜすべてを破棄するのでしょうか? また、このトピックに関してグーグルで何も見つかりません。何か助けはありますか?

編集:これらの文字の破棄がバグである可能性があることを示唆するこのトピックを見つけました。
TinyXML と HTML エンティティの保持

4

1 に答える 1

1

どうやら、TinyXml のバグです。

簡単な回避策は、気に入らない可能性のあるものをすべてエスケープすることです。

  • &"'<および>通常の xml エンティティ エンコーディングを取得しました
  • 奇妙な文字 (非英数字 / 通常の句読点を読む) は、Unicode コードポイントに最適に変換されます。&#....;

TinyXml は完全な獣ではなく、すべての軽量 xml ライブラリの前にあることに注意してください。

于 2011-02-05T13:11:21.343 に答える