我有几个来自不同资源的大型xml文件。通过查看每个标记的根标记可以轻松区分它们。但是,解析它们可能需要一些时间,因此我不想先解析它们并获取root来确定xml的类型。有没有人知道如何在不将所有内容加载到内存中的情况下进行快速查找?我现在正在使用ElementTree作为工具。谢谢!
答案 0 :(得分:1)
您需要一个流解析器,而不是预先构建整个树的解析器。查看http://docs.python.org/2/library/pyexpat.html并提供一个start元素处理程序,它可以保存第一个start元素的名称,然后抛出异常,终止解析。这样你只会阅读你的大文件的开头。