Python

Python XML naar woordenboek

Python XML naar woordenboek

XML (Extensible Markup Language) is de opmaaktaal die wordt gebruikt om de gegevens op te slaan. Het is een zeer nuttig formaat om gegevens op te slaan, omdat het een reeks regels definieert waarmee we de gegevens in een dergelijk formaat kunnen opslaan, dat zowel door een machine als door mensen leesbaar is. Het wordt veel gebruikt om gegevens op te slaan. Het is een opmaaktaal van het HTML-type omdat ze hetzelfde type structuur hebben. XML biedt echter niet de gedefinieerde tags, maar u kunt uw eigen tags definiëren en uw eigen opmaaktaal maken. De gegevens die zijn opgeslagen in het XML-document kunnen eenvoudig worden geëxtraheerd en geanalyseerd. Dit is de reden dat het het meest wordt gebruikt voor webservers. XML is een hoofdlettergevoelige taal.

Python wordt geleverd met veel ingebouwde modules en functies om gespecialiseerde taken uit te voeren. Het heeft veel ingebouwde gegevensstructuren om de gegevens op te slaan en te beheren. Woordenboek is een van de zeer nuttige ingebouwde gegevensstructuren die worden gebruikt om gegevens op te slaan in het sleutel-waardepaarformaat. We kunnen de XML-gegevens eenvoudig converteren naar een Python-woordenboek. Python biedt de xmlodict module om de XML-gerelateerde taken uit te voeren. In dit artikel wordt de conversie van XML naar een woordenboek in Python uitgelegd.

Installatie van xmltodict-module

Voordat we beginnen met XML naar woordenboekconversie, moeten we eerst de xmltodict-module installeren. Het xmltodict kan eenvoudig worden geïnstalleerd met behulp van het Python-indexpakket (pip). Voer de volgende opdracht uit om de xmltodict-module te installeren met pip:

pip installeer xmltodict

Als je pip3 gebruikt, voer dan de volgende opdracht uit om de xmltodict-module te installeren:

pip3 installeer xmltodict

Het duurt een paar minuten om de module op uw systeem te installeren.

Na de succesvolle installatie krijgt u een bericht "Xmltodict succesvol geïnstalleerd".”

Als u een op Debian gebaseerd systeem gebruikt, voer dan de volgende opdracht uit om de xmltodict-module te installeren:

sudo apt install python-xmltodict

De bovenstaande opdracht is voor Python2. Voer in het geval van de Python3-versie de volgende opdracht uit:

sudo apt install python3-xmltodict

XML naar woordenboek conversie

Laten we nu een XML naar Python-woordenboek converteren. Voor dit doel moeten we eerst de xmltodict-module importeren in ons Python-script. De xmltodict.ontleden() is een ingebouwde functie die het XML-naar-python-woordenboek converteert.

#importeren xmltodict-module
import xmltodict
#definiëren van een xml-tekenreeks
xml_data = """

FA18-RSE-012

Kamran
Kamran
Kamran

[e-mail beveiligd]
4
MSSE

ASPMI
ASQA
ASPM
Semantisch web


"""
#converteren xml naar woordenboek
mijn_dict = xmltodict.ontleden(xml_data)
#bepalen van het type geconverteerd object
print(type("Het type is: ",mijn_dictaat))

Uitgang:

In de uitvoer is te zien dat de XML met succes is geconverteerd naar een woordenboek.

Laten we nu toegang krijgen tot de gegevens met behulp van de woordenboektoetsen. De naam van de tags zijn sleutels en gegevens in de tags zijn eigenlijk waarde.

#importeren xmltodict-module
xmltodict importeren
#definiëren van een xml-tekenreeks
xml_data = """

FA18-RSE-012

Kamran
Sattar
Awaisi

[e-mail beveiligd]
4
MSSE

ASPMI
ASQA
ASPM
Semantisch web


"""
#converteren xml naar woordenboek
mijn_dict = xmltodict.ontleden(xml_data)
#bepalen van het type geconverteerd object
print("Het type is: ",type(my_dict))
#toegang tot de student-ID
print(my_dict['student']['id'])
#toegang tot de naam van de student
print(my_dict['student']['name'])
#toegang tot de voornaam van de student
print(my_dict['student']['name']['firstName'])
#toegang tot de middelste naam van de student
print(my_dict['student']['name']['middleName'])
#toegang tot de achternaam van de student
print(my_dict['student']['name']['achternaam'])
#toegang tot de studentenmail
print(my_dict['student']['email'])
#toegang tot het studentensemester
print(my_dict['student']['semester'])
#toegang tot de studentenklas
print(my_dict['student']['class'])
#toegang tot het studentenvak3
print(my_dict['student']['subjects']['sub3'])

Uitgang:

De uitvoer laat zien dat de gegevens met succes zijn geopend met behulp van de toetsen.

Conversie van XML naar woordenboek met behulp van bestanden

De XML-gegevens worden meestal opgeslagen in bestanden. De XML-bestanden worden gemaakt met de .xml-extensie. Laten we nu het XML-bestand openen en de gegevens converteren naar een Python-woordenboek en toegang krijgen tot de waarden met behulp van toetsen.

Dit is onze leerling.xml-bestand.

Laten we nu ons Python-script schrijven om het bestand te openen en XML-gegevens naar het Python-woordenboek te converteren.

#module importeren
xmltodict importeren
#het xml-bestand openen in leesmodus
met open("student.xml","r") als xml_obj:
#coverting van de xml-gegevens naar het Python-woordenboek
mijn_dict = xmltodict.ontleden(xml_obj.lezen())
#het bestand sluiten
xml_obj.dichtbij()
#toegang tot de naamwaarde
print(my_dict['student']['name']['achternaam'])
#toegang tot de e-mailwaarde
print(my_dict['student']['email'])
#toegang tot de klassewaarde
print(my_dict['student']['class'])
#toegang tot de semesterwaarde
print(my_dict['student']['semester'])
#toegang tot de onderwerpwaarde
print(my_dict['student']['subjects']['sub1'])

Uitgang:

Conclusie

XML is een populair formaat om gegevens op te slaan. Het wordt meestal gebruikt om gegevens uit te wisselen tussen webservers en softwaretoepassingen. De XML-gegevens kunnen worden omgezet in een Python-woordenboek met behulp van de xmltodict-module. Dit artikel legt de installatie van de xmltodict-module en de conversie van XML naar woordenboek uit met verschillende voorbeelden.

Top Oculus App Lab-games
Als je eigenaar bent van een Oculus-headset, moet je op de hoogte zijn van sideloading. Sideloading is het proces van het installeren van niet-winkeli...
Top 10 spellen om te spelen op Ubuntu
Het Windows-platform is een van de dominante platforms voor gaming geweest vanwege het enorme percentage games dat tegenwoordig wordt ontwikkeld om Wi...
5 beste arcade-spellen voor Linux
Tegenwoordig zijn computers serieuze machines die worden gebruikt om te gamen. Als je de nieuwe hoge score niet kunt halen, weet je wat ik bedoel. In ...