0

在使用 jdk 的 javax.xml.parsers.SAXParser 解析来自套接字的流时,我得到一个非常神秘的 NullPointerException。

我的 InputSource 是我通过扩展 FilterInputStream 创建的 RecordingInputStream,以便能够在日志文件中记录我在套接字上接收到的所有数据,然后再进入解析器。通过使用这种方式,我现在可以看到,当以下标记出现在流中时,会专门抛出 NullPointerException:

<order act="D" order_id="16508679" scn="147185767940" reason="DELETE_ORDR" who_id="90296"/>

否则,流的解析工作正常。所有其他经常出现的 XML 标记都被成功解析(不抛出异常),并且相应的 XMLCommandsHandler 的方法确实被正确调用。

请问,为什么会出现这个 NullPointerException 的任何线索?否则,我将面临诅咒所有现成的 XML 流解析器的替代方案,并编写我自己的简单解析器。厌倦了探索其他软件的错误,或者糟糕的设计:(

4

2 回答 2

0

您可能想尝试XercesSaxon

于 2010-09-27T22:09:06.360 回答
0

我发现了错误。对不起,我忘了发布我的答案,那时我真的被工作压得喘不过气来。我现在想起来了,我现在回答。这是我的代码中的空指针异常。XMLCommandsHandler 正在调用的代码。当然,它与 SAX 解析器无关。

我的道歉。

于 2010-10-20T16:27:08.090 回答