Python 3.8.2
xml.etree.ElementTree --- ElementTree XML API
Aus Datei
import xml.etree.ElementTree as ET
tree = ET.parse('country_data.xml')
root = tree.getroot()
Aus einer Schnur
root = ET.fromstring(country_data_as_string)
Suchen Sie nur * direkte untergeordnete Elemente * des aktuellen Elements nach Tag
#Liste wird zurückgegeben
list = root.findall('country'):
Suchen Sie nur das erste Element, das nach Tag gefunden wurde
elem = root.find('country'):
Suche nach XPath-Ausdruck
root.findall("./country/neighbor")
Zugriff auf Inhalte
rank = country.find('rank').text
Zugriffsattribute
#Entweder
country.get('name')
country.attrib['name']
elem = ET.SubElement(root,'country')
elem = ET.SubElement(root,'country', attrib={'name':'Liechtenstein'})
>>> for country in root.findall('country'):
... # using root.findall() to avoid removal during traversal
... rank = int(country.find('rank').text)
... if rank > 50:
... root.remove(country)
...
Ausgabe an sys.stdout
ET.dump(root)
Ausgabe in Datei
tree = ET.ElementTree(root)
tree.write('filename', encoding="utf-8", xml_declaration=True)
Ausgabe in Datei mit Zeilenumbrüchen
import xml.dom.minidom as md
document = md.parseString(ET.tostring(root, 'utf-8'))
with open(fname,'w') as f:
document.writexml(f, encoding='utf-8', newl='\n', indent='', addindent=' ')
Recommended Posts