可以通过lxml中的子元素文本值搜索XML元素吗?

时间:2011-10-13 07:50:24

标签: python lxml

我有一个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搜索会改善性能吗?

0 个答案:

没有答案