ERROR:A semi colon character was expected

使用MSXML4.0 SAX解析xml文件时,经常会出错:“ERROR:A semi colon character was expected.” 原因就是数据中含有SAX不能正常解析的字符。最常见的就是“&”。

下面的这篇文章,介绍的比较详细:http://dev.ektron.com/kb_article.aspx?id=13084

在XML中,一个"&"后面必须紧跟一个合法的实体名(valid entity name),之后再跟一个分号(;). For example, &。
如果没有分号,则会出现这个错误:"ERROR:A semi colon character was expected"。常见的原因是URL中用来区分参数的"&"。For example:<param name="link" value="http://www.example.com/page.aspx?a=1&b=2"/>

解决方案:
"&"必须被编码为&amp;,包括在URL中。当然,在实体名前面的"&"是不用再次编码的,如&amp;,&lt;,&gt;。For example:<param name="link" value="http://www.example.com/page.aspx?a=1&amp;b=2"/>

NOTE:
只有&lt;,&gt;,&quot;,&apos; 和&amp; 是合法的XML 实体名。像HTML的实体名&nbsp; 等,在XML中是没有定义的。

posted @ 2013-04-24 10:32  金石开  阅读(3627)  评论(0编辑  收藏  举报