Я работаю над разбором XML-листа в Python. XML имеет такую структуру:
<layer1>
<layer2>
<element>
<info1></info1>
</element>
<element>
<info1></info1>
</element>
<element>
<info1></info1>
</element>
</layer2>
</layer1>
Без layer2 у меня нет проблем с доступом к данным в info1. Но со слоем 2 у меня действительно проблемы. Их я могу адресовать info1 с: root.firstChild.childNodes[0].childNodes[0].data
Итак, я подумал, что я могу сделать это примерно так: root.firstChild.firstChild.childNodes[0].childNodes[0].data
Вот как я решил свою проблему: из xml.etree импортировать cElementTree как ET
из xml.etree импортировать cElementTree как ET
tree = ET.parse("test.xml")
root = tree.getroot()
for elem in root.findall('./layer2/'):
for node in elem.findall('element/'):
x = node.find('info1').text
if x != "abc":
elem.remove(node)