Вы можете использовать xml.etree.ElementTree
для анализа XML-файлов:
import xml.etree.ElementTree as ET
tree = ET.parse('songs.xml')
root = tree.getroot()
for child in root:
print(child.tag, child.attrib)
for x in child:
print(x.tag, x.attrib)
Что выводит на печать:
Song {'title': 'Erase and rewind'}
Artist {'name': 'The Cardigans', 'ID': '340900'}
Info {'StartTime': '22:22:13', 'JazlerID': '8310', 'PlayListerID': ''}
Где теги XML печатаются наслева, а данные, хранящиеся в словарях, напечатаны справа.Вы можете получить доступ к данным из этих словарей.
Если вы хотите напечатать только значения, которые не являются None
или пустой строкой, вы можете попробовать это:
import xml.etree.ElementTree as ET
tree = ET.parse('songs.xml')
root = tree.getroot()
for child in root:
title = child.attrib.get("title")
if title:
print('title = %s' % title)
for x in child:
for key in x.attrib:
value = x.attrib.get(key)
if value:
print(key, "=", value)
Что дает:
title = Erase and rewind
name = The Cardigans
ID = 340900
StartTime = 22:22:13
JazlerID = 8310