Проблема в том, что вы используете root
в findall
вашего второго for
цикла:
for ticket in root.findall('.//ParentTwo'):
Вместо этого вы должны использовать ticket
из внешнего цикла для ограничениякакие ParentTwo
элементы найдены.(Также обратите внимание, что я изменил ticket
на ticket2
, поскольку вы уже использовали ticket
.):
for ticket2 in ticket.findall('.//ParentTwo'):
Полный отредактированный код ...
import xml.etree.ElementTree as ET
tree = ET.parse("C:/Users/thisuser/Desktop/test.xml")
root = tree.getroot()
for ticket in root.findall('.//Parent'):
Childone = ticket.find('.//Childone').text
for ticket2 in ticket.findall('.//ParentTwo'):
Childtwo = ticket2.find('.//Childtwo').text
print "Childone={Childone}, Childtwo={Childtwo}".format(Childone=Childone, Childtwo=Childtwo)