XML espace dans les noms de noeud, acces en python - XML/XSL - Programmation
Marsh Posté le 29-03-2021 à 21:26:07
Tu cherches peut-être complètement autre chose, à savoir virt-sysprep? https://libguestfs.org/virt-sysprep.1.html
Marsh Posté le 07-05-2021 à 14:44:58
Bonjour,
un accès Xml , c'est à dire 'lire' un fichier , ou le contenu d'une balise Xml dans un fichier en contenant des milliers,
ça se fait par utilisation de la hierarchie Xml , c'est un ensemble de noeuds et de sous noeuds.
Les méthodes dans les Xml Reader elles permettent des accès différents :
- accès par la sémantique d'une balise XmlReader ->get_<exemple>
- accès par la valeur d'un attribut ... ->get ( id = ?????? ) , ou Name= ?????
c'est vraiment les accès les plus précis, les plus détaillés.
Les espaces de noms, c'est des indications sur des 'membres' de ton fichier Xml ...
en fait, ta liste Xml contient d'autres "fichiers" Xml ...
c'est aussi un schéma, une référence pour un Type Xml ...
donc un 'hive' d'espace de noms , et une écriture pour un élèment ( déjà référencé par des organismes Xml )
C'est aussi de la normalisation , on va pas le réécrire encore, ni le rendre incompatible cet "être Xml".
Le souci de "l'espace" dans les balises, c'est un problème de validation,
ta ressource Python est mal utilisée, ou il manque un paramètre à ton validateur.
tu a des niveaux de validation { strict // ..... etc ... }
c'est comme ON / OFF ..
c'est une lecture + souple qui se fera pour ton fichier.
et pour les schèmas , et faire toi même ton motif de validation : c'est "Xsd" et "Xml Validator" [ une autre syntaxe ]
Marsh Posté le 07-05-2021 à 16:16:05
isanaud a écrit : J'aimerais changer en python la valeur de la mac address dans la definition d'une VM libvirt mais je suis confronté aux espaces dans les noms de noeuds. |
Il n'y a pas d'espaces dans les noms de noeuds en XML, ça n'existe pas. D'ailleurs le bordel que tu postes n'en a pas.
Et si tu es en python, la librairie standard a plusieurs paquets permettant de lire, interroger, et écrire du XML.
Marsh Posté le 10-05-2021 à 18:52:18
je fais certainement une erreur de vocabulaire mais l'élément mac address
a bien espace et il me pose un soucis pour récupérer la valeur associée.
Marsh Posté le 10-05-2021 à 18:56:56
isanaud a écrit : je fais certainement une erreur de vocabulaire |
C'est pas une erreur de vocabulaire c'est une totale méconnaissance et incompréhension du format.
isanaud a écrit : mais l'élément mac address a bien espace et il me pose un soucis pour récupérer la valeur associée |
C'est un attribut. L'élément a un attribut. C'est l'une des principales structures logiques du XML. N'importe quelle lib XML permet d'accéder aux attributs et de récupérer la valeur associée.
Marsh Posté le 10-05-2021 à 21:06:54
masklinn a écrit : |
masklinn a écrit : |
Si tu as un lien vers un site qui explique ça simplement, je suis preneur
Marsh Posté le 12-05-2021 à 09:00:14
Tout ce que t'as à faire, c'est collecter les nœuds <uuid>, les parcourir en changeant leur valeur et enregistrer le résultat.
Marsh Posté le 29-03-2021 à 09:58:17
J'aimerais changer en python la valeur de la mac address dans la definition d'une VM libvirt mais je suis confronté aux espaces dans les noms de noeuds.
Quel méthode d'acces conseillez vous ?
Message édité par isanaud le 29-03-2021 à 10:51:57