【问题标题】:System.Xml.XmlException: Reference to undeclared entity 'AMP'. Line 88, position 68System.Xml.XmlException:引用未声明的实体“AMP”。第 88 行,第 68 位
【发布时间】:2011-10-27 09:12:56
【问题描述】:

我收到以下错误,但不知道如何解决:

System.Xml.XmlException:引用未声明的实体“AMP”。 第 88 行,第 68 位。

我在 xml 中找到了这个部分:

<AddressData city="TYNE &AMP; WEAR">
    <addressLine>123 Orange Rd.</addressLine>
    <addressLine></addressLine>
</AddressData>

xml 实际上是动态创建的,但是当我单步执行它时,我注意到它以 Tyne & Wear 的形式返回,但它是大写的,我不知道为什么。有一个名为 XmlEncode 的实用程序路由,它执行以下操作,但不确定它是否会涵盖上述场景。

s.Replace("&", "&amp;").Replace("<", "&lt;").Replace(">", "&gt;").Replace("'", "&apos;").Replace("""", "&quot;")

【问题讨论】:

  • 你能发布一些你试图解析的xml吗?
  • 你有&amp;AMP;吗?哪里应该有&amp;amp;
  • 我们能看到导致异常的相关代码和/或数据吗?
  • 显示您的 XML 似乎无效,或者如果文件太大,请在第 88 行显示您的内容。
  • 看起来程序正在尝试通过连接字符串来构建 XML 文档,而这正是您将遇到的错误类型。改用 DOM 构建它,查看这个问题的答案:stackoverflow.com/questions/284324/…

标签: c# xml


【解决方案1】:

听起来 xml 输入包含一个大写的&amp;amp;。 XML 字符实体区分大小写。

【讨论】:

  • 我正在尝试获取 xml。我实际上没有,但一旦我得到它,我会告诉你。到目前为止,谢谢。
猜你喜欢
  • 2019-01-03
  • 1970-01-01
  • 2013-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-16
  • 1970-01-01
  • 2021-05-07
相关资源
最近更新 更多