У меня есть 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?