python sax解析器跳过异常

时间:2011-06-14 13:17:01

标签: python xml sax

有没有办法使用SAX XML解析器“跳过”一行?

我有一个非确认的XML文档,它是有效XML文档的串联,因此每个文档都会显示<?xml ...?>。另请注意,我需要使用SAX解析器,因为输入文档很大。

我尝试制作一个“自定义流”类作为解析器的支线,但很快就意识到SAX使用read方法,从而读取“字节数组”中的内容,从而爆炸了这个项目的复杂性。

谢谢!

更新:我知道使用csplit可以解决这个问题,但如果可能的话,我会在合理的限制范围内使用基于Python的解决方案。

Update2:也许我应该说“跳到下一个文档”,这会更有意义。无论如何,这就是我需要的:一种从单个输入流解析多个文档的方法。

1 个答案:

答案 0 :(得分:0)

当您将文档连接在一起时,只需替换开头&lt;?和?&gt;使用&lt;! - 和 - &gt;,这将注释掉xml声明。