我有一个XML文件,其结构如下:
<index>
<compound kind="file">
<name>file.c</name>
<member kind="variable"><name>foo</name></member>
<member kind="variable"><name>bar</name></member>
...
</compound>
<compound kind="file">
<name>file.h></name>
<member>...
</compound>
</index>
我需要按文件成员名称进行搜索,但我无法弄清楚是否有办法避免迭代整个树。我的解决方案目前看起来像:
for f in xmlroot.iter("compound"):
for m in f.iter("member"):
if m.find("name").text == my_var_name:
print "Found"
有没有办法使用dict()搜索来提高效率,因为我实际上有另一个for循环,它通过变量列表进行搜索,因此性能方面非常差。
将这两个for循环更改为单个XPath搜索会改善性能吗?