首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tinyXML库不能正确读取‘&’

tinyXML库不能正确读取‘&’
EN

Stack Overflow用户
提问于 2012-01-27 22:34:37
回答 3查看 602关注 0票数 0

我有一个XML文件,其中有几行代码,如下所示:

代码语言:javascript
复制
<rule pat="&&&&&&&&&&&&&&&(?<B>B) ?(?<AND>&) ?(?<E>E)">

我在C++中使用C++库来解析这个XML文件,但是当我试图获得这些行的'pat‘属性时,TinyXML却忽略了字符&的任何出现。也就是说,TinyXML读取的结果类似于:

代码语言:javascript
复制
(?<B>B) ?(?<AND>) ?(?<E>E)

所有&都不见了!

这个字符是我的正则表达式模式的一部分,因此这将导致程序中的进一步错误。

有没有人知道为什么&这个角色如此特殊,和TinyXML就不能阅读?即使是一个独立的&也会被解雇?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-01-27 22:36:29

这是因为这不是一个有效的XML文件。您不能只将一个&字符放在XML中的任何位置。你必须用实体来逃避:

代码语言:javascript
复制
&amp;

TinyXML只读取有效的XML文件(或者至少大部分是有效的)。

同样,您也需要用<&gt;来转义&lt;&gt;字符。

票数 7
EN

Stack Overflow用户

发布于 2012-01-27 22:37:39

这不是格式良好的XML。如果您想要一个&字符,您需要放置&amp;

票数 2
EN

Stack Overflow用户

发布于 2012-01-27 22:36:42

xml中,&表示为&amp;

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9040961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档