1

特定の文字のみを解析すると、エクスパットエラーが発生します。他の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;ません。

助言がありますか?ここでの問題はアンパサンドです。

4

1 に答える 1

3

XMLでは、エンティティであってもアンパサンドをエスケープします。したがって、有効な値は<a href="http://www.myurl.com?a=b&amp;c=d">Link</a>
正しいWebページです。ただし、ブラウザは、発生したエラーに対して非常に耐性があります。

于 2011-07-28T18:49:22.517 に答える