【问题标题】:SAXParseException; The entity "CC" was referenced, but not declaredSAXParseException;实体“CC”被引用,但未声明
【发布时间】:2014-04-12 03:49:10
【问题描述】:

引用这个thread 我使用相同的 SAXParser 代码,我试图解析这个 xml 文档:

<doc>
    <str name="id">743</str>
    <str name="full_message_t">[ST] Needy has help with S&CC; cost-cutting being implemented http://t.co/Ta7Kgc3f3L</str>
    <str name="source_t">ST</str>
    <str name="news_t">Needy has help with S&CC; cost-cutting being implemented </str>
    <str name="link_t">http://t.co/Ta7Kgc3f3L</str>
    <long name="_version_">1464787947397054464</long>
</doc>

我收到了这个错误

org.xml.sax.SAXParseException; lineNumber: 1667; columnNumber: 62; The entity "CC" was referenced, but not declared.

如果我没记错的话。 &CC 是版权符号的 ASCII,我认为解析器无法读取它。那么我可以知道这是什么解决方案吗? 此外,我认为可能还有更多这些符号。解析器是否有某种导入或迂回方法能够读取所有符号?

【问题讨论】:

    标签: xml parsing ascii symbols


    【解决方案1】:

    您的文件不是格式正确的 XML; XML 不允许您使用实体引用,除非它们被声明(在 DTD 中)。所以实际上它并不是一个 XML 文档。

    当您遇到错误的 XML 时,最好的解决方案始终是弄清楚它是在何时何地产生的,并修复产生它的过程,这样它就不会再次发生。

    但是,如果您需要修复它,您应该能够找到包含 ISO Latin1 实体定义的 DTD,并在解析之前将对该 DTD 的引用添加到文档中(在 DOCTYPE 声明中)。

    【讨论】:

      猜你喜欢
      • 2017-03-27
      • 1970-01-01
      • 2013-05-05
      • 1970-01-01
      • 2021-05-07
      • 1970-01-01
      • 2015-10-12
      • 1970-01-01
      • 2012-10-12
      相关资源
      最近更新 更多