使用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"/>
解决方案:
"&"必须被编码为&,包括在URL中。当然,在实体名前面的"&"是不用再次编码的,如&,<,>。For example:<param name="link" value="http://www.example.com/page.aspx?a=1&b=2"/>
NOTE:
只有<,>,",' 和& 是合法的XML 实体名。像HTML的实体名 等,在XML中是没有定义的。