我在 C++ 中使用 TinyXML 库来解析此 XML 文件,但是当我尝试获取此类行的“pat”属性时,TinyXML -6ren">
gpt4 book ai didi

c++ - tinyXML 库无法正确读取 ‘&’

转载 作者:太空宇宙 更新时间:2023-11-04 14:50:41 25 4
gpt4 key购买 nike

我有一个 XML 文件,其中包含如下几行:

<rule pat="&&&&&&&&&&&&&&&(?<B>B) ?(?<AND>&) ?(?<E>E)">

我在 C++ 中使用 TinyXML 库来解析此 XML 文件,但是当我尝试获取此类行的“pat”属性时,TinyXML 结果只是忽略了字符 & 的任何出现。也就是说,TinyXML 读取的结果变成了这样:

(?<B>B) ?(?<AND>) ?(?<E>E)

所有&都不见了!

这个字符是我的正则表达式模式的一部分,所以这会导致我的程序进一步出错。

有谁知道为什么这个字符 & 如此SPECIAL 而 TinyXML 无法读取?即使是独立的 & 也会被解雇?

最佳答案

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

&amp;

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

同样,你需要转义<>字符也是,用&lt;&gt; .

关于c++ - tinyXML 库无法正确读取 ‘&’,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9040961/

25 4 0
文章推荐: java - 不支持的媒体异常 : Unsupported Content-Type: text/html Supported ones are: [text/xml]
文章推荐: C++ 函数曾经工作,现在返回 0xfdfdfdfd
文章推荐: html - 如何使中间的TD高于侧面的?
文章推荐: css - 为什么
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com