Pitone

Python da XML a dizionario

Python da XML a dizionario

XML (Extensible Markup Language) è il linguaggio di markup utilizzato per memorizzare i dati. È un formato molto utile per archiviare i dati perché definisce un insieme di regole che ci consentono di archiviare i dati in un tale formato, che è una macchina e leggibile dall'uomo. È ampiamente utilizzato per memorizzare i dati. È un linguaggio di markup di tipo HTML in quanto hanno lo stesso tipo di struttura. Tuttavia, XML non offre i tag definiti, ma puoi definire i tuoi tag e creare il tuo linguaggio di markup. I dati memorizzati nel documento XML possono essere estratti e analizzati facilmente. Questo è il motivo per cui è più comunemente usato per i server web. XML è un linguaggio con distinzione tra maiuscole e minuscole.

Python viene fornito con molti moduli e funzioni integrati per eseguire attività specializzate. Ha molte strutture dati integrate per archiviare e gestire i dati. Il dizionario è una delle strutture dati integrate molto utili che viene utilizzata per memorizzare i dati nel formato coppia chiave-valore. Possiamo semplicemente convertire i dati XML in un dizionario Python. Python fornisce il xmlodict modulo per eseguire le attività relative a XML. Questo articolo spiega la conversione di XML in un dizionario in Python.

Installazione del modulo xmltodict

Prima di iniziare con la conversione da XML a dizionario, dobbiamo installare il modulo xmltodict. Il xmltodict può essere facilmente installato utilizzando il pacchetto indice Python (pip). Esegui il seguente comando per installare il modulo xmltodict usando pip:

pip install xmltodict

Se stai usando pip3, esegui il seguente comando per installare il modulo xmltodict:

pip3 installa xmltodict

Ci vorranno un paio di minuti per installare il modulo sul tuo sistema.

Dopo l'installazione riuscita, riceverai un messaggio "Installato con successo xmltodict."

Se stai utilizzando un sistema basato su Debian, esegui il seguente comando per installare il modulo xmltodict:

sudo apt install python-xmltodict

Il comando sopra è per Python2. Nel caso della versione Python3, eseguire il seguente comando:

sudo apt install python3-xmltodict

Conversione da XML a dizionario

Ora convertiamo un dizionario XML in Python. A questo scopo, prima dobbiamo importare il modulo xmltodict nel nostro script Python. Il xmltodict.analizzare() è una funzione integrata che converte l'XML in dizionario Python.

#importare il modulo xmltodict
import xmltodict
#definizione di una stringa xml
xml_data = """

FA18-RSE-012

Kamran
Kamran
Kamran

[e-mail protetta]
4
MSSE

ASPMI
ASQA
ASPM
Web semantico


"""
#convertire xml in dizionario
my_dict = xmltodict.parse(xml_data)
#determinazione del tipo di oggetto convertito
print(type("Il tipo è: ",my_dict))

Produzione

Nell'output, si può vedere che l'XML è stato convertito con successo in un dizionario.

Ora accediamo ai dati utilizzando i tasti del dizionario. Il nome dei tag sono chiavi e i dati all'interno dei tag sono in realtà un valore.

#importare il modulo xmltodict
import xmltodict
#definizione di una stringa xml
xml_data = """

FA18-RSE-012

Kamran
Sattar
Awaisi

[e-mail protetta]
4
MSSE

ASPMI
ASQA
ASPM
Web semantico


"""
#convertire xml in dizionario
my_dict = xmltodict.parse(xml_data)
#determinazione del tipo di oggetto convertito
print("Il tipo è: ",type(my_dict))
#accedere all'ID studente
print(my_dict['student']['id'])
#accedere al nome dello studente
print(my_dict['studente']['nome'])
#accedere al nome dello studente
print(my_dict['student']['name']['firstName'])
#accesso al secondo nome dello studente student
print(my_dict['student']['name']['middleName'])
#accedere al cognome dello studente
print(my_dict['studente']['nome']['cognome'])
#accedere all'e-mail dello studente
print(my_dict['studente']['email'])
#accesso al semestre studentesco
print(my_dict['studente']['semestre'])
#accesso alla classe studenti
print(my_dict['student']['class'])
#accedere alla materia studente3
print(my_dict['student']['subjects']['sub3'])

Produzione

L'output mostra che l'accesso ai dati è riuscito utilizzando i tasti.

Conversione da XML a dizionario tramite file

I dati XML sono per lo più archiviati in file. I file XML vengono creati con il .estensione xml. Ora apriamo il file XML e convertiamo i dati in un dizionario Python e accediamo ai valori utilizzando le chiavi.

Questo è il nostro studente.file xml.

Ora scriviamo il nostro script Python per aprire il file e convertire i dati XML nel dizionario Python.

#importando il modulo
import xmltodict
#apertura del file xml in modalità lettura
con open("studente.xml","r") come xml_obj:
#trasformare i dati xml nel dizionario Python
my_dict = xmltodict.parse(xml_obj.leggere())
#chiudo il file
xml_obj.vicino()
#accedere al valore del nome
print(my_dict['studente']['nome']['cognome'])
#accedere al valore dell'email
print(my_dict['studente']['email'])
#accedere al valore della classe
print(my_dict['student']['class'])
#accedere al valore del semestre
print(my_dict['studente']['semestre'])
#accedere al valore del soggetto
print(my_dict['studente']['soggetti']['sub1'])

Produzione

Conclusione

XML è un formato popolare per memorizzare i dati. È più comunemente usato per scambiare dati tra server web e applicazioni software. I dati XML possono essere convertiti in un dizionario Python utilizzando il modulo xmltodict. Questo articolo spiega l'installazione del modulo xmltodict e la conversione da XML a dizionario con diversi esempi.

Tutorial Shadow of the Tomb Raider per Linux
Shadow of the Tomb Raider è la dodicesima aggiunta alla serie Tomb Raider, un franchise di giochi d'azione e avventura creato da Eidos Montreal. Il gi...
Come aumentare gli FPS in Linux?
FPS sta per Fotogrammi al secondo. Il compito dell'FPS è misurare il frame rate nelle riproduzioni video o nelle prestazioni di gioco game. In parole ...
I migliori giochi di laboratorio dell'app Oculus
Se possiedi un visore Oculus, devi essere informato sul sideloading. Il sideloading è il processo di installazione di contenuti non archiviati sul vis...