Python et XML avec minodom
bonjour
je cherche a utiliser minidom sur la base de cette note
www.fil.univ-lille1.fr/~marvie/python/chapitre4.html
En ligne de commande sous window10 (pas de linux ou d'unix possible dans l’environnement )
Python 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Code:
1 2
| >>> from xml.dom import minidom
>>> doc = minidom('cas11.xml') |
voici la réponse de python
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'module' object is not callable
donc je suppose qu'il manque une phase d'installation du module minidom ?
le but final lire un fichier xml
identifier des balises et les modifier pour construire des simulations
Peut-être ce module n'est pas le plus adapté. et ne me parler pas de linux , car impossible pour moi de disposer d'un tel environnement chez l'utilisateur finale.
Pyhthon XML quid de l'outil pour une MISe àjour
De façon plus synthétique :
Voici rapidement brosser le cas qui m'occupe .
- Environnement Windows.
- Langue python 3.6
Je veux a partir de fichiers XML et du langage Python automatiser des traitements permettant de modifier certain éléments divers balise XML.
La structure de ce xml utilise des balises obligatoires et d'autre qui ne le sont pas.
Les balises peuvent être absente , codé soit <mabalise></mabalise> soit simplement <mabalise/> .
<mabalise> <MaBalisE> ou toutes déclinaisons des jeux de majuscule ou minuscule n'a pas d'importante dans l'interprétation finale du XML
exemple de code de base
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| <Personne>
<identifiant>1</identifiant>
<nom>
<famille>DUPOND</famille>
<prenom>CAROLE</prenom>
</nom>
<age/>
<rang>1<RANG/>
</Personne>
<Personne>
<identifiant>2</identifiant>
<nom>
<famille>DUPOND</famille>
<prenom>MARTIN</prenom>
</nom>
<age>20<age/>
<RANG>1<RANG/>
</Personne> |
version modifiée
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
<Personne>
<identifiant>101</identifiant>
<Nom>
<Famille>MARTIN</Famille>
<Prenom>JEAN</Frenom>
</Nom>
<Age>40<Age/>
<Rang>1<Rang/>
</Personne>
<Personne>
<identifiant>102</identifiant>
<Nom>
<Famille>MARTIN</Famille>
<Prenom>MATILDE</Frenom>
</Nom>
<Age>39<Age/>
<Rang>2<Rang/>
</Personne> |
Donc ici j'ai modifié mon jeux d'essai en altérant le continue de certaine balise , en appliquant une forme de grammaire pour la simple lisibilité du code 'une majuscule pour la première lettre de la balise et le reste en minuscule'
Pour le cas de la balise <Age> de créer l'information non existant dans le premier code
Je cherche donc dans les divers outil XML fournir par Python le plus pertinent pour ce type de modification.
Le module minidom est une mise en œuvre de DOM pour Python. Il fournit toutes les interfaces de base DOM et un parser de fichier (ou de chaîne) XML.
Le module lxml.etree :l' API ElementTree
ou d'autre solution
j'aimerai savoir ce qui serait le pour pertinent
Lecture de XML
Identification de balise spécifique
Mise à jour du contenu
Constitution du fichier xml après modification
Ecriture du nouveau fichier xml modifier.
Je cherche l'outil le plus adapté