使用 expat 解析 & 符号失败。令牌无效?

发布于 2024-11-26 23:57:08 字数 531 浏览 4 评论 0原文

仅解析特定字符时出现 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>

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

有什么建议吗? & 符号是这里的问题。

I get an expat error when parsing specific characters only. Other HTML code is parsed just fine.
I'm using the UTF-8 library of expat libexpatMT.lib and I'm working with char and std::string in a wrapper. No wide chars etc. used.

// 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>

I'm confused why the ampersand can be an invalid token here, since it's used even within HTML entities like &
Replacing the ampersands with & or custom spacers doesn't work either.

Any suggestions? The ampersand is the issue here.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

绮烟 2024-12-03 23:57:08

在 XML 中,您可以转义 & 符号,即使在实体中也是如此。因此有效值为 Link
正确的网页可以做到这一点。不过,浏览器对您所犯的错误相当宽容。

In XML, you escape ampersand, even in entities. So the valid value is <a href="http://www.myurl.com?a=b&c=d">Link</a>
Correct Web pages do that. Browsers are quite tolerant for the error you made, though.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文