1. XML Introduction
XML (eXtensible Markup Language) désigne un langage de balisage extensible, conçu pour transmettre et stocker des données, et est devenu le cœur de nombreuses nouvelles technologies aujourd’hui, avec des applications différentes dans différents domaines. C’est un produit inévitable du développement du web jusqu’à un certain stade, qui possède les caractéristiques fondamentales du SGML, les caractéristiques simples du HTML, et de nombreuses nouvelles fonctionnalités telles qu’une clarté et une structure bien structurée.
test. Fichier XML
< ?xml version="1.0 » encoding="utf-8 » ?> <catalog> <maxid>4</maxid> <identifiant="pytest » passwd='123456'> <caption>Python</caption> <élément id="4"> <caption>Test</caption> </item> </login> <élément id="2"> <caption>Zope</caption> </item> </catalog> Pour une introduction détaillée au XML, veuillez consulter :http://www.w3school.com.cn/xmldom/dom_nodetype.asp
2. XML analyse syntaxique des documents
Il existe trois méthodes courantes pour Python pour analyser XML : l’une est le module xml.dom.*, qui est une implémentation de l’API dom du W3C, très adaptée si vous devez traiter l’API DOM ; Le second est le module xml.sax.*, qui est une implémentation de l’API SAX, sacrifiant la commodité au profit de la rapidité et de l’empreinte mémoire, et SAX est une API basée sur des événements, ce qui signifie qu’elle peut traiter un grand nombre de documents « en vol » sans avoir à les charger entièrement en mémoire ; Le troisième est le module xml.etree.ElementTree (ET en abrégé), qui fournit une API légère de type Python, beaucoup plus rapide que le DOM, et il existe de nombreuses API agréables qui peuvent être utilisées, comparé à SAX, ET.iterparse d’ET propose également une méthode de traitement « dans l’air », il n’est pas nécessaire de charger l’intégralité du document en mémoire, et la performance moyenne d’ET est similaire à SAX. Cependant, l’API est un peu plus efficace et facile à utiliser.
2.1 xml.dom.*
Le Document Object Model (DOM) est une interface de programmation standard recommandée par l’organisation W3C pour gérer des langages de balisage extensibles. Lorsqu’un analyseur DOM analyse un document XML, il lit l’intégralité du document d’un coup, stocke tous les éléments du document dans une structure en arbre en mémoire, puis vous pouvez utiliser différentes fonctions fournies par le DOM pour lire ou modifier le contenu et la structure du document, ou écrire le contenu modifié dans le fichier xml. Utilise xml.dom.minidom en Python pour analyser le fichier xml.
a. Obtenir des sous-tags b. Étiquettes qui distinguent le même nom d’étiquette c. Obtenir la valeur de l’attribut tag d. Obtenir des données entre les paires d’étiquettes
Sortie:
2.2 xml.etree.ElementTree
ElementTree est né pour gérer le XML, et il existe deux implémentations dans la bibliothèque standard Python : l’une est une implémentation purement Python, comme xml.etree.ElementTree, et l’autre est un xml.etree.cElementTree plus rapide. Note : Essayez d’utiliser le langage C pour l’implémenter, car il est plus rapide et consomme moins de mémoire.
a. Parcourir la couche suivante du nœud racine b. Accès en indice aux tags, attributs et textes individuels c. Trouver l’étiquette spécifiée sous racine d. Parcourir les fichiers XML e. Modifier le fichier XML
Sortie:
Pièce jointe :
2.3 xml.sax.*
SAX est une API pilotée par des événements qui utilise SAX pour analyser XML en deux parties : l’analyseur et le gestionnaire d’événements.
L’analyseur est responsable de la lecture du document XML et de l’envoi d’événements au gestionnaire d’événements, tels que les événements de début et de fin d’élément
Le processeur d’événements est responsable de répondre aux événements et de traiter les données XML transmises
Scénarios courants :
(1) Traiter les documents volumineux
(2) Seule une partie du document est requise, ou des informations spécifiques ne sont obtenues que du fichier
(3) Je veux construire mon propre modèle d’objets
|