Я новичок в xml и имею небольшой опыт работы с Python.Я пытаюсь использовать модуль Python xml.etree.ElementTree для анализа файла xml.Используя print(info.text), он может распечатать все элементы в файле xml, такие как WIL-RT2, Rtr_Cisco ..., но я хотел бы получить только WIL-RT2, а затем на основе WIL-RT2, яможет вернуть Rtr_Cisco.Вот часть моего xml файла:
xml
xml.etree.ElementTree
print(info.text)
WIL-RT2
Rtr_Cisco
<?xml version="1.0" encoding="ISO-8859-1"?> <model-response-list xmlns="http://www.ca.com/spectrum/restful/schema/response" total-models="115" throttle="115" error="EndOfResults"> <model-responses> <model mh="0x700e8f"> <attribute id="0x1006e">WIL-RT2</attribute> <attribute id="0x10000">Rtr_Cisco</attribute> <attribute id="0x12d7f">172.20.111.252</attribute> <attribute id="0x12bfb">NAT,192.168.249.150</attribute> <attribute id="0x100ae" error="NoSuchAttribute"/> <attribute id="0x100af" error="NoSuchAttribute"/> </model> </model-responses> </model-response-list>
Вот мой код Python
for item in root.findall("{http://www.ca.com/spectrum/restful/schema/response}model-responses"): #print(item.findall('{http://www.ca.com/spectrum/restful/schema/response}model')) for child in item.findall('{http://www.ca.com/spectrum/restful/schema/response}model'): #print(child.attrib, child.tag) for info in child.findall('{http://www.ca.com/spectrum/restful/schema/response}attribute'): print(info.tag, info.attrib) print(info.text)
есть способ получить текст. вот код печать (info.findtext ( "[@ ид = '0x1006e']"))