在 Python 中使用 XPath
XPath 是一种用于在 XML 文档中选择节点的强大语言。 Python 提供了多个支持 XPath 的库,包括 libxml2 和 ElementTree。
libxml2
Libxml2 提供了 XPath 的全面实现。它具有以下优势:
然而,libxml2 也有一些缺点:
ElementTree
对于基本的路径选择任务,ElementTree 提供了更容易上手的选项。它包含在 Python 2.5 中,并具有以下优点:
但是,如果您需要完全 XPath 合规性或原始速度,libxml2 是更好的选择。
示例用法
Libxml2 XPath 使用:
<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>
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>
以上是哪个 Python 库提供最佳的 XPath 实现:libxml2 与 ElementTree?的详细内容。更多信息请关注PHP中文网其他相关文章!