2011-02-05 89 views
2

我使用tinyxml来保存来自文本ctrl的输入。用户可以将任何他们喜欢的内容复制到文本框中,并将其写入xml文件。我发现新行不会被保存,也不会有字符。奇怪的部分是tinyxml完全丢弃它们而没有任何警告。如果我把一个&到文本框中并保存,标签将是这样的:某个tinyxml能解释哪些字符需要转义?

<textboxtext></textboxtext> 

换行符完全消失为好。不存储任何字符。这是怎么回事?即使我需要用&放大器或其他东西来逃避它们,为什么它只丢弃一切?此外,我无法在Google上找到关于此主题的任何内容。任何帮助?

编辑: 我发现这个话题,建议丢弃这些字符可能是一个错误。
TinyXML and preserving HTML Entities

回答

1

它显然是TinyXml中的一个bug。

简单的解决方法是逃避任何东西,它可能不喜欢:

  • &"'<>得到了他们的编码
  • 奇怪的字符常规XML实体(读非字母数字/常规标点符号)最好翻译成它们的Unicode码点:&#....;

记住TinyXml的是之前所有的轻量级XML库,而不是一个完整的野兽。