Menggunakan XPath dalam Python
XPath ialah bahasa yang berkuasa untuk memilih nod dalam dokumen XML. Python menawarkan beberapa perpustakaan yang menyokong XPath, termasuk libxml2 dan ElementTree.
libxml2
Libxml2 menyediakan pelaksanaan komprehensif XPath. Ia menawarkan kelebihan berikut:
Walau bagaimanapun, libxml2 juga mempunyai beberapa kelemahan:
ElementTree
Untuk tugas pemilihan laluan asas, ElementTree menyediakan pilihan yang lebih mudah didekati. Ia disertakan dengan Python 2.5 dan menawarkan kelebihan berikut:
Walau bagaimanapun, jika anda memerlukan pematuhan XPath penuh atau kelajuan mentah, libxml2 ialah pilihan yang lebih baik.
Sampel Penggunaan
Libxml2 XPath Penggunaan:
<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>
Penggunaan 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>
Atas ialah kandungan terperinci Perpustakaan Python mana yang Menawarkan Pelaksanaan XPath Terbaik: libxml2 vs ElementTree?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!