System.Xml.XmlException: “=”是意外的标记。标记应为“;”

使用.NET XmlDocument对象LoadXml(string xml)行为从指定字符串加载XML过程中报了一个错:

“=”是意外的标记。标记应为“;”。 第 1 行,位置 567。

说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.Xml.XmlException: “=”是意外的标记。标记应为“;”。 第 1 行,位置 567。

源错误: 

行 60:             else if (menuType == "myc")
行 61:             {
行 62:                 doc.LoadXml(ReturnTree(5));
行 63:             }

 

在网上查询到原因是.NET在解析XML文档时发现XML文档中有特殊字符,如果是&特殊字符,则替换成&即可,如果是其他特殊字符,则应有其他对应替换形式,这个百度即可

 

***************************************************************************************************************************

 

参考资源地址:http://www.hierror.com/csharp/201397354.shtml

症状:

.net解析xml的时候引发异常:“=”是意外的标记。标记应为“;”。 第 7 行,位置 80。

 1 <?xml version="1.0" encoding="utf-8" ?>
 2 <task>
 3   <item>
 4   
 5       <id>1</id>
 6       <taskUrl>http://xiaohua.zol.com.cn/detail12/11396.html</taskUrl>
 7       <listUrlRegular>http://xiaohua.zol.com.cn/list.php?z_subcate_id=0&keyword=&order=1&page={page}</listUrlRegular>
 8       <startAtPage>1</startAtPage>
 9       <endAtPage>168</endAtPage>
10       <listRegexExpressionPath>D:\ASPX\FJSpider\FJSpider.TaskRegularLibrary\zol\ListRegular.xml<stRegexExpressionPath>
11       <contentRegexExpressionPath>D:\ASPX\FJSpider\FJSpider.TaskRegularLibrary\zol\ContentRegular.xml</contentRegexExpressionPath>
12       <daConfigPath>D:\ASPX\FJSpider\FJSpider.TaskRegularLibrary\zol\DataAccessConfig.xml</daConfigPath>
13       <contentIsLoop>false</contentIsLoop>
14       <taskDescription>所有SQLServer错误信息采集</taskDescription>
15    
16   </item>
17   
18   
19 </task>

 

诊断:

XML节点中有xml关键词或者特殊字符,比如例子中的&

 

解决:

把第七行网址里面的&修改为&amp;

 

posted @ 2016-06-30 22:33  Arlar  阅读(7480)  评论(0编辑  收藏  举报