Python:
Å jobbe med XML

Hvordan:

Pythons xml.etree.ElementTree-modul tilbyr verktøy for å arbeide med XML.

Parse et XML-dokument:

import xml.etree.ElementTree as ET

xml_data = """<?xml version="1.0"?>
<library>
    <book>
        <title>Lær Python</title>
        <author>Mark Lutz</author>
    </book>
    <book>
        <title>Programmer 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'Tittel: {title}, Forfatter: {author}')

Eksempel på utdata:

Tittel: Lær Python, Forfatter: Mark Lutz
Tittel: Programmer Python, Forfatter: Mark Lutz

Opprett et XML-dokument:

library = ET.Element('library')
book = ET.SubElement(library, 'book')
title = ET.SubElement(book, 'title')
title.text = 'Automatiser det kjedelige med Python'
author = ET.SubElement(book, 'author')
author.text = 'Al Sweigart'

tree = ET.ElementTree(library)
tree.write('library.xml')

Dypdykk:

XML har vært rundt siden slutten av 90-tallet, opprettet som en forenklet delmengde av SGML for enkel online datadeling. Til tross for JSONs økende popularitet for webdata, forblir XML viktig i mange bedrifts, konfigurasjons- og webtjenester (SOAP, RSS).

Alternativer til xml.etree.ElementTree inkluderer lxml og minidom. lxml er raskere og har flere funksjoner, mens minidom tilbyr et mer “DOM-lignende” XML-grensesnitt. Når du velger, vurder brukervennlighet, ytelse og spesifikke funksjonskrav.

Under panseret opererer ElementTree på en elementtremodell, hvor hver komponent av XML-filen er en node i et tre. Dette muliggjør enkle stiuttrykk og søk, noe som gjør det lettere å navigere og manipulere strukturen til XML-data.

Se også: