在 Python 中使用 XPath
XPath 是一種用於在 XML 文件中選擇節點的強大語言。 Python 提供了多個支援 XPath 的函式庫,包括 libxml2 和 ElementTree。
libxml2
Libxml2 提供了 XPath 的全面實作。它具有以下優勢:
然而,libxml2 也有一些缺點:
ElementTree
ElementTree易於使用基本XPath 查詢
但是,如果您需要完全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>Libxml2 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中文網其他相關文章!