Maison >développement back-end >Tutoriel Python >Voici quelques titres basés sur des questions qui correspondent à l'extrait de code Python ElementTree fourni, en se concentrant sur le problème de l'ignorance des espaces de noms : * Comment rechercher des éléments dans des fichiers XML sans les inconvénients de l'espace de noms
Lorsque vous travaillez avec des fichiers XML en Python à l'aide du module ElementTree, il peut être nécessaire de localiser éléments quels que soient leurs espaces de noms. Cependant, lorsqu'il s'agit de fichiers XML contenant des espaces de noms, le comportement par défaut consiste à prendre en compte le préfixe de l'espace de noms lors de la recherche d'éléments. Cela peut être gênant, en particulier lorsque vous travaillez avec de nombreux espaces de noms.
Pour résoudre ce problème, vous pouvez modifier le document XML pour éliminer les espaces de noms, mais cela n'est pas toujours réalisable. Alternativement, on peut analyser le document XML et modifier les balises dans le résultat pour ignorer les espaces de noms :
<code class="python">from io import StringIO # Python 2: from StringIO import StringIO import xml.etree.ElementTree as ET # Use iterparse to retain lazy parsing it = ET.iterparse(StringIO(xml)) for _, el in it: _, _, el.tag = el.tag.rpartition('}') # Strip namespace root = it.root</code>
Cette approche permet une gestion facile de plusieurs espaces de noms sans les ajouter explicitement devant chaque balise.
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!