python - 使用python重复查询xml

标签 python xml caching elementtree

我有一些需要对其运行查询的 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/

相关文章:

python - Numpy:将两个数组组合成一个矩阵,然后用 lambda 进行映射

Java:解析 XML 数据的函数 - 没有输出任何内容

python - 将数据从 BigQuery 加载到 Redis 中

caching - Azure AppFabric缓存dll版本差异

Python 包和 egg-info 目录

python:如何使用增量数对序列求和

python - 如何使用discord.py 查找用户上次事件的时间?

c - 使用 libxml2 在现有 XML 中附加数据

java - java代码在xml中产生奇怪的字符

java - 处理来自服务器端的条件 HTTP GET 请求的好方法是什么?也就是说,包含 "If-Modified-Since" header 的 GET 请求?