gpt4 book ai didi

java - 配置 Xerces SAX 解析器以容忍 XML 语法错误

转载 作者:行者123 更新时间:2023-12-02 07:40:26 25 4
gpt4 key购买 nike

我在解析错误生成的 XML 文档时收到此错误:

org.xml.sax.SAXParseException: The value of attribute "bar" associated with an element type "foo" must not contain the '<' character.

我知道是什么原因导致了这个问题。就是这一行:

<foo bar="x<y">42</foo>

应该是

<foo bar="x&lt;y">42</foo>

我知道这不是有效的 XML,但我的代码必须在无人值守的情况下下载和解析类似的文件,并且出于政治原因,可能无法说服供应商修复有问题的程序,特别是当其他程序正在读取该文件时文件并容忍此错误。

有什么方法可以配置 Xerces 来容忍它吗?目前它将其视为 fatal error 。实现 ErrorHandler 来忽略它并不令人满意,因为这样文档的其余部分就不会被解析。

或者,您能否建议另一个可以配置为容忍此错误的基于流的解析器?使用 DOM 解析器是不可行的,因为这些文档达到数百兆字节。

最佳答案

... and for political reasons it might not be possible to persuade the supplier to fix the faulty program ...

出于政治原因,你应该尽最大努力让他们修复它。在他们面前挥动需求规范,说明输入必须是格式良好的 XML。威胁要向他们收取开发定制解析器的费用。 (好吧,这可能行不通......)

不战而屈人之兵,只是把问题留给以后要与该供应商打交道的其他人。

关于java - 配置 Xerces SAX 解析器以容忍 XML 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3315345/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com