Есть вот такой xml:
<?xml version="1.0"?>
<rootnode>
<node id="1">bla-bla-bla</node>
<node id="2">bla-bla-bla</node>
<node id="3">bla-bla-bla</node>
</rootnode>
Нужно найти, например, ноду с id == 2. Первое, что пришло в голову:
from xml.etree import ElementTree
doc = ElementTree.parse("file.xml")
for node in doc.getroot().findall("node"):
if node.attrib["id"] == "2":
print node.text
break
Но как-то перебор не очень нравится, тем более, что нод может быть достаточно много. Возможно, есть более элегантные методы?