Python XML Analisi

Python XML Analisi
In questo articolo, discuteremo di come analizzare XML nel linguaggio di programmazione Python. Passeremo attraverso diversi esempi per comprendere il meccanismo di analisi XML in Python.

Cos'è XML?

XML sta per un linguaggio di markup estensibile. XML è molto simile a HTML. XML viene utilizzato per archiviare e trasferire i dati, in cui HTML viene utilizzato solo per visualizzare i dati sul browser. XML consente all'utente di archiviare e trasferire i dati in modo organizzato.

Esempio di file XML

L'utente può definire i propri tag nel file XML. Nel seguente esempio, stiamo utilizzando tag definiti dall'utente come - . Per ogni tag, dovremo anche avere un tag di chiusura - . L'utente può definire tanti tag definiti dall'utente di cui hanno bisogno. Ecco un file XML di esempio:











Biblioteche di analisi a Python

Ci sono librerie per analizzare i dati XML nella maggior parte dei moderni linguaggi di programmazione di alto livello. Ci sono un paio di librerie da analizzare i file XML in Python:

  1. Minidom
  2. ElementTree

Tuttavia, in questo articolo, ci concentreremo sulla libreria Minidom per analizzare i dati XML. Minidom è l'implementazione minima dell'interfaccia del modello a oggetti documenti. È molto leggero e più semplice del DOM completo.

Esempio 1
In questo esempio, importiamo innanzitutto "XML.Dom.Modulo Minidom ”. Il file XML da analizzare qui è - campione.XML. Il file XML memorizza alcune informazioni di base sugli studenti: nome dello studente e nome della sezione Classe. La funzione di analisi viene utilizzata sul minidom XML per caricare e analizzare il file XML. La variabile MyDoc ottiene il risultato della funzione di analisi. Quindi la funzione di stampa viene utilizzata per visualizzare il nome del nodo e il nome del tag del primo figlio.

Importa XML.Dom.minidom
def main ():
# Carica e analizza il file XML
mydoc = xml.Dom.minidom.analisi ("campione.XML ")
# stampa il nodename e il tagname del primochild.
Stampa (mydoc.NODENAME)
Stampa (mydoc.Primogenito.tagname)
Se __Name__ == "__main__":
principale()

Esempio 2
In questo esempio, vedremo come ottenere l'elenco dei tag XML e stamparli. Stiamo dichiarando la variabile - "Stud". Questa variabile contiene tutti gli studenti di StudentsData. Il loop ottiene tutti i dati con il nome del tag "nome".

Importa XML.Dom.minidom
def main ():
# Carica e analizza il file XML
mydoc = xml.Dom.minidom.analisi ("campione.XML ")
# stampa il nodename e il tagname del primochild.
Stampa (mydoc.NODENAME)
Stampa (mydoc.Primogenito.tagname)
# Ottieni i tag XML
Stud = MyDoc.getElementsByTagName ("Studente")
Stampa ("No of Students: % D" % Stud.lunghezza)
per il nome in stallone:
Stampa (nome.getAttribute ("nome"))
Se __Name__ == "__main__":
principale()

Esempio 3
Questo è un altro esempio di analisi XML usando la libreria minidom. In questo esempio, vedremo anche come creare un nuovo elemento XML. In primo luogo, caricheremo e analizzeremo il file XML dato, i.e., il campione.File XML ". Il nuovo elemento XML può essere creato utilizzando la funzione funzione - createelment (). Una volta creato l'elemento, possiamo aggiungerlo agli elementi XML esistenti utilizzando la funzione AppendChild ().

Importa XML.Dom.minidom
def main ():
# Carica e analizza il file XML
mydoc = xml.Dom.minidom.analisi ("campione.XML ");
# Stampa nodo documento e nome tag figlio First Child
Stampa (mydoc.NODENAME)
Stampa (mydoc.Primogenito.tagname)
# Ottieni l'elenco dei tag XML
StudName = myDoc.getElementsByTagName ("Studente")
Print (" % d StudName:" % StudName.lunghezza)
per sname in studname:
Stampa (SNAME.getAttribute ("nome"))
# Aggiungi nuovi tag XML
newStudName = myDoc.CreateElement ("Studente")
NewstudName.setAttribute ("nome", "Paul")
mydoc.Primogenito.AppendChild (NewStudName)
stampa (" ")
# Stampa tutti i tag XML
StudName = myDoc.getElementsByTagName ("Studente")
Print (" % d StudName:" % StudName.lunghezza)
per sname in studname:
Stampa (SNAME.getAttribute ("nome"))
Se __Name__ == "__main__":
principale()

Conclusione

Questo articolo ha discusso brevemente del formato di file XML e come analizzare i file XML in Python. Esistono diverse librerie per analizzare i file XML in Python. Ma, in questo articolo, abbiamo coperto solo la libreria minidom e vediamo diversi esempi per analizzare i file XML e aggiungere nuovi elementi XML.