Python xml analyse

Python xml analyse
Dans cet article, nous discuterons de la façon d'analyser XML dans le langage de programmation Python. Nous allons passer par plusieurs exemples pour comprendre le mécanisme d'analyse XML à Python.

Qu'est-ce que XML?

XML signifie un langage de balisage extensible. XML est très similaire à HTML. XML est utilisé pour stocker et transférer des données, où HTML est utilisé juste pour afficher les données du navigateur. XML permet à l'utilisateur de stocker et de transférer des données de manière organisée.

Exemple de fichier XML

L'utilisateur peut définir ses propres balises dans le fichier XML. Dans l'exemple suivant, nous utilisons une balise définie par l'utilisateur tel que - . Pour chaque balise, nous aurons également besoin d'avoir une balise de clôture - . L'utilisateur peut définir autant de balises définies par l'utilisateur qu'elle a besoin. Voici un exemple de fichier XML:











Analyser les bibliothèques à Python

Il existe des bibliothèques pour analyser les données XML dans la plupart des langages de programmation de haut niveau modernes. Il y a quelques bibliothèques pour analyser les fichiers XML dans Python:

  1. Minidom
  2. ElementTree

Cependant, dans cet article, nous nous concentrerons sur la bibliothèque minidom pour l'analyse des données XML. Minidom est la mise en œuvre minimale de l'interface du modèle d'objet de document. Il est très léger et plus simple que le DOM complet.

Exemple 1
Dans cet exemple, nous importons d'abord le «XML.dom.Module Minidom ”. Le fichier XML à analyser ici est - Exemple.Xml. Le fichier XML stocke quelques informations de base sur les étudiants - nom de l'élève et nom de la section de classe. La fonction d'analyse est utilisée sur XML Minidom pour charger et analyser le fichier XML. La variable mydoc obtient le résultat de la fonction d'analyse. Ensuite, la fonction d'impression est utilisée pour afficher le nom du nœud et le nom de la balise du premier enfant.

Importer du XML.dom.minidom
def main ():
# Fichier XML de chargement et d'analyse
mydoc = xml.dom.minidom.analyse ("".xml ")
# imprime le NODENAME et le Tagname du Firstchild.
imprimer (mydoc.nodename)
imprimer (mydoc.premier enfant.TagName)
Si __name__ == "__main__":
principal()

Exemple 2
Dans cet exemple, nous verrons comment obtenir la liste des balises XML et les imprimer. Nous déclarons la variable - "Stud". Cette variable contient tous les étudiants de StudentsData. La boucle FOR obtient toutes les données avec le nom de balise «Nom».

Importer du XML.dom.minidom
def main ():
# Fichier XML de chargement et d'analyse
mydoc = xml.dom.minidom.analyse ("".xml ")
# imprime le NODENAME et le Tagname du Firstchild.
imprimer (mydoc.nodename)
imprimer (mydoc.premier enfant.TagName)
# Obtenez les balises XML
Stud = MyDoc.GetElementsByTagName ("Student")
Impression ("Non d'étudiants:% D"% Stud.longueur)
pour le nom dans Stud:
imprimer (nom.getAttribute ("nom"))
Si __name__ == "__main__":
principal()

Exemple 3
Ceci est un autre exemple de l'analyse XML à l'aide de la bibliothèque minidom. Dans cet exemple, nous verrons également comment créer un nouvel élément XML. Tout d'abord, nous chargerons et analyserons le fichier XML donné, I.e., l'échantillon.Fichier XML ». Le nouvel élément XML peut être créé en utilisant la fonction fonction - createElement (). Une fois l'élément créé, nous pouvons l'ajouter aux éléments XML existants en utilisant la fonction APPEDCHILD ().

Importer du XML.dom.minidom
def main ():
# Fichier XML de chargement et d'analyse
mydoc = xml.dom.minidom.analyse ("".xml ");
# Imprimer le nœud du document et le premier nom de balise enfant
imprimer (mydoc.nodename)
imprimer (mydoc.premier enfant.TagName)
# Obtenez la liste des balises XML
studname = mydoc.GetElementsByTagName ("Student")
Print ("% D Studname:"% Studname.longueur)
Pour le sname dans l'étude:
Imprimer (Sname.getAttribute ("nom"))
# Ajouter de nouvelles balises XML
newstudname = mydoc.CreateElement ("Student")
nom de nouveau.setAttribute ("nom", "Paul")
mydoc.premier enfant.appenchild (newstudname)
imprimer (" ")
# Imprimez toutes les balises XML
studname = mydoc.GetElementsByTagName ("Student")
Print ("% D Studname:"% Studname.longueur)
Pour le sname dans l'étude:
Imprimer (Sname.getAttribute ("nom"))
Si __name__ == "__main__":
principal()

Conclusion

Cet article a brièvement discuté du format de fichier XML et comment analyser les fichiers XML dans Python. Il y a plusieurs bibliothèques pour analyser les fichiers XML dans Python. Mais, dans cet article, nous n'avons couvert la bibliothèque Minidom et voir plusieurs exemples pour analyser les fichiers XML et ajouter de nouveaux éléments XML.