|
|
1
3
我认为你不容易做到这一点。您给SAX解析器一个要读取的资源(流),然后关闭它,SAX解析器仍然希望从中读取—因此它(并非不合理地!)抛出了一个“意外的文档结尾”。 如果您想干净地执行此操作,我认为您的SAX解析器 handler 一旦您决定忽略进一步的事件,您已经实现的应该默默地吞下事件。
e、 g.您对
这样,SAX解析器就可以干净地运行到文档末尾,而无需再处理任何事件。 或者,为什么不记录您已经关闭了输入流的事实,然后当您得到一个“意外文档结束”事件时,看看它是否真的关闭了 是 |
|
|
2
0
如果控制文档生成端,则可以设置关闭请求消息以发送回服务器并结束传入文档。根据您整个系统的详细信息,这可能是一个丑陋的黑客攻击,也可能是一个优雅的解决方案……:) |
|
|
3
0
这可能是显而易见的,但对于这样的用例 Stax parser 可能更合适。 由于应用程序通过迭代控制读取,所以它可以在任何给定点关闭解析器和底层流。使用SAX时,必须抛出一个异常,该异常不是特别优雅或高效。另外,您只能从处理程序内部执行此操作。 额外的分数, StaxMate 最后:如果您的问题是由于套接字造成的阻塞,那么使用传统的基于阻塞IO的xml解析器可能很难解决。有一个开源xml解析器可以进行非阻塞(异步)解析,但这一点鲜为人知,因此我将把这一发现留给感兴趣的读者。:-) |
|
|
robyp7 · fo:表到html表-xslt 11 年前 |