Existe-t-il un moyen de rechercher tous les nœuds dans une arborescence XML à l'aide de cElementTree? La méthode findall ne fonctionne que pour les tags spécifiés.Rechercher tous les nœuds à partir d'un fichier XML à l'aide de cElementTree
1
A
Répondre
2
Vous pouvez utiliser XPath paths sur la méthode findall:
Le version 1.2 prend en charge les chemins simples de l'emplacement de l'élément . Dans sa forme la plus simple, un chemin d'emplacement est un ou plusieurs noms de point, séparés par (/).
Vous pouvez également utiliser un astérisque (*) au lieu d'un nom de tag, pour faire correspondre tous les éléments à ce niveau. Par exemple, */sous-étiquette renvoie tous les petits-enfants de sous-étiquette. Une étiquette vide (//) est utilisée pour rechercher tous les niveaux de l'arborescence, sous le niveau actuel . L'étiquette vide doit toujours être suivie d'un nom de tag ou d'un astérisque .
etree.findall('.//*')
1
Avez-vous regardé node.getiterator()?