Python:
Att arbeta med XML

Hur man gör:

Pythons modul xml.etree.ElementTree erbjuder verktyg för att arbeta med XML.

Analysera ett XML-dokument:

import xml.etree.ElementTree as ET

xml_data = """<?xml version="1.0"?>
<library>
    <book>
        <title>Lära sig Python</title>
        <author>Mark Lutz</author>
    </book>
    <book>
        <title>Programmera med Python</title>
        <author>Mark Lutz</author>
    </book>
</library>
"""

root = ET.fromstring(xml_data)
for book in root.findall('book'):
    title = book.find('title').text
    author = book.find('author').text
    print(f'Titel: {title}, Författare: {author}')

Exempel på utdata:

Titel: Lära sig Python, Författare: Mark Lutz
Titel: Programmera med Python, Författare: Mark Lutz

Skapa ett XML-dokument:

bibliotek = ET.Element('library')
bok = ET.SubElement(bibliotek, 'book')
titel = ET.SubElement(bok, 'title')
titel.text = 'Automatisera det tråkiga med Python'
författare = ET.SubElement(bok, 'author')
författare.text = 'Al Sweigart'

träd = ET.ElementTree(bibliotek)
träd.write('library.xml')

Fördjupning:

XML har funnits sedan slutet av 90-talet, skapat som en förenklad delmängd av SGML för enkel online-datadelning. Trots JSON:s ökande popularitet för webbdata förblir XML vitalt i många företag, konfigurationer och webbtjänster (SOAP, RSS).

Alternativ till xml.etree.ElementTree innefattar lxml och minidom. lxml är snabbare och har fler funktioner, medan minidom erbjuder ett mer “DOM-liknande” XML-gränssnitt. När du väljer, överväg användarvänlighet, prestanda och specifika funktionskrav.

Under ytan opererar ElementTree på en elementträdsmodell, där varje komponent i XML-filen är en nod i ett träd. Detta möjliggör enkel användning av sökvägar och sökningar, vilket gör det lättare att navigera och manipulera strukturen av XML-data.

Se även: