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 xmltodictSe stai usando pip3, esegui il seguente comando per installare il modulo xmltodict:
pip3 installa xmltodictCi 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-xmltodictIl 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 xmltodictimport xmltodict
#definizione di una stringa xml
xml_data = """
"""
#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 xmltodictimport xmltodict
#definizione di una stringa xml
xml_data = """
"""
#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 moduloimport 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.