J'aimerais analyser un simple fichier XML simple à l'aide de Python, cependant, les travaux sur PyXML semblent avoir cessé. Je voudrais utiliser Python 2.6 si possible. Quelqu'un peut-il recommander un analyseur XML qui fonctionnera avec 2,6? P>
merci p>
5 Réponses :
Si c'est petit et simple, alors juste Utilisez la bibliothèque standard :
from xml.dom.minidom import parse doc = parse("filename.xml")
serait lxml convient à vos besoins? C'est le premier outil que je me tourne vers l'analyse XML. P>
De plus, Python 2.5+ a Etree intégré. Il met en œuvre ce qui constitue un sous-ensemble de LXML. J'utilise etree pour un traitement XML simple et LXML lorsque j'ai besoin de quoi que ce soit que etree ne couvre pas bien.
ici est également un très bon exemple sur la manière d'utiliser minidom avec des explications . p>
Le lien semble rediriger vers la page d'accueil sans www devant elle. Ceci est un lien de travail: DiveintTyThon.net/xml_processing/index.html
Correction du lien. Merci!
Il y a quelques années, j'ai écrit une bibliothèque pour travailler avec structuré em> xml. Il rend XML plus simple en faisant des hypothèses limitantes. P>
Vous pouvez utiliser XML pour quelque chose comme un document de processeur de mots, auquel cas avez-vous une soupe compliquée de trucs avec des étiquettes XML intégrées partout à la place; Dans quel cas ma bibliothèque ne serait pas bonne. p>
Mais si vous utilisez XML pour quelque chose comme un fichier de configuration, ma bibliothèque est plutôt pratique. Vous définissez des classes décrivant la structure du XML que vous souhaitez, et une fois que vous avez effectué les cours, il existe une méthode pour Slurp dans XML et analyser. L'analyse réelle est effectuée par xml.dom.minidom, mais ma bibliothèque extrait les données et la met dans les classes. P>
La meilleure partie: vous pouvez déclarer un type "collection" qui sera une liste Python avec zéro ou plusieurs autres éléments XML à l'intérieur. C'est génial pour des choses comme des flux Atom ou RSS (qui était la raison originale que j'ai conçue la bibliothèque). P>
Voici l'URL: http://home.avvanta.com/~steveha/xe.html P>
Je serais heureux de répondre aux questions si vous en avez. P>
Pour la plupart de mes tâches, j'ai utilisé la mise en œuvre de la Minidom Lightweight Dom, de la page officielle:
from xml.dom.minidom import parse, parseString dom1 = parse('c:\\temp\\mydata.xml') # parse an XML file by name datasource = open('c:\\temp\\mydata.xml') dom2 = parse(datasource) # parse an open file dom3 = parseString('<myxml>Some data<empty/> some more data</myxml>')