【发布时间】:2012-02-20 21:28:29
【问题描述】:
我有一个 XML 文件,其中包含如下几行:
<rule pat="&&&&&&&&&&&&&&&(?<B>B) ?(?<AND>&) ?(?<E>E)">
我在 C++ 中使用 TinyXML 库来解析这个 XML 文件,但是当我尝试获取此类行的 'pat' 属性时,TinyXML 会忽略任何出现的字符 &amp;。也就是说,TinyXML 读取的结果变成这样:
(?<B>B) ?(?<AND>) ?(?<E>E)
所有&amp; 都不见了!
这个字符是我的正则表达式模式的一部分,所以这会导致我的程序出现进一步的错误。
有人知道为什么&amp; 这个字符如此SPECIAL 而TinyXML 就是无法读取吗?连一个独立的&amp;都会被解雇?
【问题讨论】:
-
&amp;在 XML 中被编码为&amp;。 XML Basics -
换句话说,你的前提是错误的。您没有 XML 文件,您有一个非 XML 文件。找出是谁制作的,并告诉他们修复它。