Разбор XML и сохранение в формате txt
Я хочу разобрать xml-файл и сохранить его в виде txt-файла.
Мой XML-файл выглядит следующим образом:
Меня просто интересует этот атрибут тип внутри атрибута класса. Я хочу просто отобразить значения Демонстрация и Портфолио в текстовом файле
<ADOXML adoversion="Version 5.1" username="Admin" database="adoxxdb" time="10:39" date="21.10.2019" version="3.1"> <MODELS> <MODEL version="" applib="ADOxx 1.5 Dynamic Experimentation Library" libtype="bp" modeltype="Ressource Model" name="Ressource Model - new" id="mod.47204"> <MODELATTRIBUTES> <INSTANCE name="Collection of written documents-49041" id="obj.49041" class="Collection of written documents"> <ATTRIBUTE name="Position" type="STRING">NODE x:7cm y:1.5cm index:1</ATTRIBUTE> <ATTRIBUTE name="External tool coupling" type="STRING"/> <ATTRIBUTE name="Comment" type="STRING"/> <ATTRIBUTE name="Description" type="STRING"/> <ATTRIBUTE name="Referenced Document" type="PROGRAMCALL">ITEM "" param:""</ATTRIBUTE> <ATTRIBUTE name="Display file name" type="INTEGER">0</ATTRIBUTE> <ATTRIBUTE name="Type of written documents" type="ENUMERATIONLIST">Demonstration;Portfolio</ATTRIBUTE> </INSTANCE> </MODEL> </MODELS> </ADOXML>
Результат должен выглядеть как:
Классен:
Демонстрация
Портфолио
Мой код выглядит следующим образом:
Что я уже пробовал:
import xml.etree.ElementTree as ET
tree=ET.parse(r"C:\Users\benni\Google Drive\MASTER\Masterarbeit\Coden\Resource.xml")
with open(r"C:\Users\benni\Google Drive\MASTER\Masterarbeit\Coden\Output88.txt", "w")as f: f.write("Class\n") for instance in tree.findall(".//ATTRIBUTE"): f.write(f"{instance.get('type')}\n")
Однако я не получаю желаемых результатов. Я просто получаю атрибут ENUMERATIONLIST, но мне нужны его значения.