【发布时间】:2011-10-27 09:12:56
【问题描述】:
我收到以下错误,但不知道如何解决:
System.Xml.XmlException:引用未声明的实体“AMP”。 第 88 行,第 68 位。
我在 xml 中找到了这个部分:
<AddressData city="TYNE & WEAR">
<addressLine>123 Orange Rd.</addressLine>
<addressLine></addressLine>
</AddressData>
xml 实际上是动态创建的,但是当我单步执行它时,我注意到它以 Tyne & Wear 的形式返回,但它是大写的,我不知道为什么。有一个名为 XmlEncode 的实用程序路由,它执行以下操作,但不确定它是否会涵盖上述场景。
s.Replace("&", "&").Replace("<", "<").Replace(">", ">").Replace("'", "'").Replace("""", """)
【问题讨论】:
-
你能发布一些你试图解析的xml吗?
-
你有
&AMP;吗?哪里应该有&amp;? -
我们能看到导致异常的相关代码和/或数据吗?
-
显示您的 XML 似乎无效,或者如果文件太大,请在第 88 行显示您的内容。
-
看起来程序正在尝试通过连接字符串来构建 XML 文档,而这正是您将遇到的错误类型。改用 DOM 构建它,查看这个问题的答案:stackoverflow.com/questions/284324/…