2

我正在使用 tinyxml 来保存来自文本 ctrl 的输入。用户可以将他们喜欢的任何内容复制到文本框中,然后将其写入 xml 文件。我发现新行没有被保存,& 字符也没有。奇怪的是,tinyxml 只是完全丢弃它们而没有任何警告。如果我将 & 放入文本框中并保存,标签将如下所示:

<textboxtext></textboxtext>

换行符也完全消失。不存储任何字符。这是怎么回事?即使我需要用 & 之类的东西来逃避它们,为什么它会丢弃所有东西?另外,我在谷歌上找不到任何关于这个话题的东西。有什么帮助吗?

编辑:我发现这个主题表明丢弃这些字符可能是一个错误。
TinyXML 和保留 HTML 实体

4

1 回答 1

1

显然,这是 TinyXml 中的一个错误。

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

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

请记住,TinyXml 首先是一个轻量级的 xml 库,而不是一个成熟的野兽。

于 2011-02-05T13:11:21.343 回答