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

Posted Arlar

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;

 

以上是关于System.Xml.XmlException: “=”是意外的标记。标记应为“;”的主要内容,如果未能解决你的问题,请参考以下文章

System.Xml.XmlException:“':'字符,十六进制值 0x3A,不能包含在名称中。”

Web 服务调用导致 System.Xml.XmlException:'.',十六进制值 0x00

System.Xml.XmlException '根级别的数据无效,第 1 行,位置 1' 当我从 1 个 xml 文件更改为 5 时出现错误

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

如果 XmlException.SourceUri 是只读的,那有啥好处?

检测 XML 的更好方法?