【问题标题】:ignoring & in DOM XML parser在 DOM XML 解析器中忽略 &
【发布时间】:2015-11-07 17:15:50
【问题描述】:

我正在尝试使用 SAX 解析器解析 XML 文件。但是当它找到 & 时,它给了我一个错误“实体名称必须紧跟实体引用中的 '&'。”。我该怎么做解析器在解析时忽略“&”,或者如果可能的话,将其从 DTD 本身转换为 &

【问题讨论】:

  • 那些文本和符号应该写成& 是正确的XML。 string = string.replace("&", "&");
  • 实际上,您正在尝试解析非 XML 文件。您不能让 XML 解析器解析非 XML。您必须更改输入以使其成为格式良好的 XML,最好首先修复生成它的代码。

标签: java xml xml-parsing saxparser


【解决方案1】:

您的输入不是有效的 XML,因为它似乎包含 & 字符,后面没有实体名称或字符引用。

解决此问题的最简单方法是在解析输入之前确保输入是有效的 XML,即将有问题的 & 字符替换为 &

我认为您无法说服任何体面的 XML 解析器默默地忽略 XML 语法错误。

【讨论】:

    【解决方案2】:
    1. 查找负责生成无效 XML 输入的个人/实体

    2. 确保个人/实体在他/她/它的生活中再也不会能够再次生成无效的 XML

    3. 重复任何新的罪犯

    已批准在逮捕 XML 恶棍时使用不必要的暴力

    或者,您可以直接辞职并使用TagSoup 或类似的东西。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-09
      • 2019-06-09
      • 2023-03-22
      • 2011-02-08
      • 1970-01-01
      • 2013-07-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多