我有一些需要对其运行查询的 xml 文档。我已经创建了一些 python 脚本(使用 ElementTree)来执行此操作,因为我不太熟悉它的使用。
它的工作方式是我使用不同的参数多次运行脚本,这取决于我想找出什么。
这些文件可能相对较大 (10MB+),因此解析它们需要相当长的时间。在我的系统上,只是运行:
tree = ElementTree.parse(document)
大约需要 30 秒,随后的 findall 查询只增加了大约一秒。
鉴于我执行此操作的方式需要我重复解析文件,我想知道是否可以使用某种缓存机制以便在后续查询中减少 ElementTree.parse 计算。
我意识到在这里做的聪明的事情可能是尝试在 python 脚本中将尽可能多的查询一起批处理,但我希望可能有另一种方法。
谢谢。
最佳答案
虽然我支持使用 lxml 的建议,但使用内置的 cElementTree 可以获得巨大的性能提升。
from xml.etree import cElementTree as ElementTree
关于python - 使用python重复查询xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2507772/