2011-07-28 16 views
1

仅在解析特定字符时出现expat错误。其他HTML代码解析得很好。 我正在使用expat libexpatMT.lib的UTF-8库,我正在使用包装器中的char和std :: string。没有广泛的字符等使用。使用expat解析&符号失败。令牌无效?

// 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;或自定义间隔更换与号也不管用。

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

回答

3

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

+0

这不行。看起来我必须'双重逃离'的价值,如:'& auml;'对于像'

Tom&Jerry
'''谢谢! – Smamatti

+0

这里有问题,请检查一下,如果代码中没有发生双重转换/未修复,或许。 – PhiLho