Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 13625|Répondre: 0

[Source] Python implémente l’analyse analytique de fichiers XML

[Copié le lien]
Publié sur 05/06/2018 14:27:09 | | |
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





Précédent:Solution : L’installateur utilisé pour installer Visual Studio est incomplet
Prochain:Raccourcis de formatage rapide du code VS Code
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com