我在仅解析特定字符时遇到 expat 错误。其他 HTML 代码解析得很好。 我正在使用 expat libexpatMT.lib 的 UTF-8 库,并且在包装器中使用 char 和 std::string。没有使用宽字符等。
// The ampersand leads to: Expat error: *not well-formed (invalid token)*
<a href="http://www.myurl.com?a=b&c=d">Link</a>
<span>Tom & Jerry</span>
<h1>Käse</h1>
我很困惑为什么 & 符号在这里可能是一个无效的标记,因为它甚至在 HTML 实体中使用,如 &
用 &
或自定义间隔符替换 & 符号也不起作用。
有什么建议吗?与号是这里的问题。
最佳答案
在 XML 中,即使在实体中,您也会转义 & 符号。所以有效值为 <a href="http://www.myurl.com?a=b&c=d">Link</a>
正确的网页可以做到这一点。不过,浏览器对您所犯的错误相当宽容。
关于c++ - 使用 expat 解析 & 符号失败。 token 无效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6864093/