Options d'implémentation de XPath en Python
Question : Quelles bibliothèques sont disponibles pour la prise en charge de XPath en Python ? Quelle option offre une mise en œuvre complète ? Comment ces bibliothèques peuvent-elles être appliquées et où puis-je accéder à leurs sites Web ?
Réponse :
Libxml2
Avantages :
Inconvénients :
ElementTree
Avantages :
Considérations :
Exemple de code :
Exemple XPath Libxml2 :
<code class="python">import libxml2 doc = libxml2.parseFile("tst.xml") ctxt = doc.xpathNewContext() res = ctxt.xpathEval("//*") if len(res) != 2: print("xpath query: wrong node set size") sys.exit(1) if res[0].name != "doc" or res[1].name != "foo": print("xpath query: wrong node set value") sys.exit(1) doc.freeDoc() ctxt.xpathFreeContext()</code>
Exemple ElementTree XPath :
<code class="python">from elementtree.ElementTree import ElementTree mydoc = ElementTree(file='tst.xml') for e in mydoc.findall('/foo/bar'): print(e.get('title').text)</code>
Références du site Web :
En fin de compte, le choix entre libxml2 et ElementTree dépend des exigences et contraintes spécifiques de votre application. Libxml2 offre une conformité totale avec XPath et des performances optimales pour les cas d'utilisation complexes, tandis que ElementTree offre une option plus simple et plus pratique pour les tâches de sélection de chemin de base.
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!