Comment modifier le contenu à l'aide de DOM dans XML
Comment modifier un document XML à l'aide de Dom dans Python? Utilisez Minidom pour analyser les fichiers XML sous forme d'arbres DOM. Obtenez le nœud cible à modifier. Utilisez la propriété FirstChild pour modifier le contenu du texte du nœud. Écrivez dans le fichier XML modifié. Libérez la mémoire pour éviter les fuites.
Modification XML DOM: analyse approfondie et compétences pratiques
Avez-vous déjà réfléchi à la façon de modifier efficacement le contenu d'un document XML? La modification directe des fichiers XML avec un éditeur de texte ne prend pas seulement du temps et à forte intensité de main-d'œuvre, mais également sujette aux erreurs, entraînant l'échec de la structure XML. À l'heure actuelle, le DOM (Document Object Model) est utile. Cet article explorera en profondeur la façon d'utiliser DOM pour modifier le contenu XML et partagera certains problèmes et solutions rencontrés dans les applications réelles. Après avoir lu cet article, vous maîtriserez l'essence de DOM modifiant XML et pourrez écrire du code efficace et robuste.
Tout d'abord, nous devons clarifier l'essence de Dom: il analyse le document XML dans une structure d'arbre, ce qui nous permet d'accéder et de faire fonctionner chaque nœud par programme. C'est comme démanteler un grand arbre dans les branches et les feuilles, et nous pouvons modifier, ajouter ou supprimer ces composants à volonté. Le module xml.dom.minidom
de Python fournit de telles capacités.
Regardons un exemple simple, supposons que nous voulons modifier un fichier XML simple:
<code class="xml"><bookstore> <book category="cooking"> <title lang="en">Everyday Italian</title> <author>Giada De Laurentiis</author> <year>2005</year> <price>30.00</price> </book> <book category="children"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> </bookstore></code>
Nous espérons changer le prix de Everyday Italian
à 35.00
. En utilisant minidom
, le code est le suivant:
<code class="python">from xml.dom.minidom import parse dom = parse("bookstore.xml") # 解析XML文件root = dom.documentElement # 获取根节点books = root.getElementsByTagName("book") # 获取所有book节点for book in books: if book.getElementsByTagName("title")[0].firstChild.data == "Everyday Italian": price_node = book.getElementsByTagName("price")[0] price_node.firstChild.data = "35.00" break # 找到目标节点后退出循环,提高效率with open("bookstore_modified.xml", "w") as f: dom.writexml(f, addindent=" ", newl="\n", encoding="utf-8") # 写入修改后的XML文件dom.unlink() # 释放内存,非常重要!</code>
Ce code montre clairement le processus de DOM Modification XML: d'abord analyser le fichier XML, puis trouver le nœud cible (nœud de prix), modifier son contenu texte et enfin écrire le fichier XML modifié. Faites attention à la dernière ligne dom.unlink()
. Cette étape est cruciale. Il libère la mémoire occupée par l'arbre Dom pour éviter les fuites de mémoire, en particulier lorsqu'ils traitent de grands fichiers XML.
Dans une utilisation avancée, vous pouvez rencontrer des situations où vous devez ajouter ou supprimer les nœuds. appendChild()
et removeChild()
sont utilisées pour ajouter et supprimer respectivement les nœuds enfants. N'oubliez pas que les opérations DOM sont basées sur des structures d'arbres, et vous devez clarifier la relation parent-enfant entre les nœuds afin d'ajouter ou de supprimer correctement les opérations.
Problèmes qui peuvent être rencontrés: lorsqu'ils traitent de grands fichiers XML, le DOM peut consommer beaucoup de mémoire. Pour les fichiers XML super-larges, l'analyse SAX (API simple pour XML) est un meilleur choix car il s'agit d'une méthode d'analyse basée sur des événements avec une empreinte de mémoire plus bas. Cependant, le modèle de programmation de Sax est plus complexe que DOM. Quel analyseur à choisir dépend de vos exigences spécifiques et de la taille du fichier XML.
En termes d'optimisation des performances, essayez de minimiser le nombre de traversées sur l'arbre DOM. L'utilisation rationnelle des expressions XPATH peut améliorer l'efficacité de la recherche de nœuds cibles. De plus, de bonnes habitudes de programmation, telles que l'utilisation de noms de variables significatives et l'ajout de commentaires nécessaires, peuvent améliorer la lisibilité et la maintenabilité du code. N'oubliez pas que le code concis et efficace est la poursuite des programmeurs.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds











Dépannage et solutions au logiciel de sécurité de l'entreprise qui fait que certaines applications ne fonctionnent pas correctement. De nombreuses entreprises déploieront des logiciels de sécurité afin d'assurer la sécurité des réseaux internes. ...

Les choix de Python et JavaScript dans les environnements de développement sont importants. 1) L'environnement de développement de Python comprend Pycharm, Jupyternotebook et Anaconda, qui conviennent à la science des données et au prototypage rapide. 2) L'environnement de développement de JavaScript comprend Node.js, VScode et WebPack, qui conviennent au développement frontal et back-end. Le choix des bons outils en fonction des besoins du projet peut améliorer l'efficacité du développement et le taux de réussite du projet.

Python et C ont chacun leurs propres avantages, et le choix doit être basé sur les exigences du projet. 1) Python convient au développement rapide et au traitement des données en raison de sa syntaxe concise et de son typage dynamique. 2) C convient à des performances élevées et à une programmation système en raison de son typage statique et de sa gestion de la mémoire manuelle.

Dans Springboot, utilisez Redis pour mettre en cache l'objet OAuth2Authorisation. Dans l'application Springboot, utilisez SpringSecurityoAuth2AuthorizationsServer ...

GolangisidealforBuildingsCalableSystemsDuetoitSefficiency and Concurrency, tandis que les Implicites de l'Indrecosystem et le Golang'sDesignenCourageSlecElNCORES

Laravel convient aux projets que les équipes connaissent PHP et nécessitent des fonctionnalités riches, tandis que les cadres Python dépendent des exigences du projet. 1.Laravel fournit une syntaxe élégante et des caractéristiques riches, adaptées aux projets qui nécessitent un développement rapide et une flexibilité. 2. Django convient aux applications complexes en raison de son concept "inclusion de batterie". 3.Laflasque convient aux prototypes rapides et aux petits projets, offrant une grande flexibilité.

L'idée de dépannage de l'échec de la connexion SSH après que le service Springboot fonctionne depuis un certain temps a récemment rencontré un problème: un printemps ...

IIS et PHP sont compatibles et sont implémentés via FastCGI. 1.IIS Transforme la demande de fichier .php au module FastCGI via le fichier de configuration. 2. Le module FastCGI démarre le processus PHP pour traiter les demandes d'amélioration des performances et de la stabilité. 3. Dans les applications réelles, vous devez prêter attention aux détails de la configuration, débogage des erreurs et optimisation des performances.
