如何告诉XML解析器忽略丢失的实体

Pau*_*ers 4 xml entities sax

如何告诉XML解析器忽略被引用但未声明的实体?

我得到这样的例外:

org.xml.sax.SAXParseException:引用了实体"alpha",但未声明.

我想要的是解析器处理字符串"α" 作为一个简单的字符串,而不是一个字符实体.

此外,我有很多这些实体,所以我不能告诉解析器单独忽略它们.

Lar*_*rsH 5

您可以编写一个脚本(例如使用sed或perl),它使用regexp替换来预处理输入文档并转义&符号,除了XML识别的字符实体的开头(即五个预定义的那些,以及任何你已宣布).

例如,该脚本将取代&&在像字符串的开始α,屈服α.但它会离开< 孤独.

您要问的问题归结为"我如何获得旨在解析XML的工具(即格式良好的XML)来处理非XML(即格式不正确的XML)?" 答案几乎总是首先使用非XML工具来修复输入并使其格式良好.