1

仅在解析特定字符时出现 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&auml;se</h1>

我很困惑为什么&符号在这里可能是一个无效的标记,因为它甚至在 HTML 实体中使用,比如&amp; 用或自定义分隔符替换&符号&amp;也不起作用。

有什么建议么?和号是这里的问题。

4

1 回答 1

3

在 XML 中,即使在实体中,也可以转义 & 符号。所以有效的值是<a href="http://www.myurl.com?a=b&amp;c=d">Link</a>
正确的网页这样做。不过,浏览器对您所犯的错误非常宽容。

于 2011-07-28T18:49:22.517 回答