1
這跟隨我之前關於使用lxml和Python的問題。對使用XPath感到困惑
我有一個問題,至於在使用lxml.etree提供的方法和我可以使用XPath的方法之間進行選擇時,應該如何使用?例如,要獲取XML文檔中所有X標籤的列表,我可以使用lxml.etree的getiterator()
來遍歷它,或者我可以編寫XPath表達式://x
。
可能有更多的例子,這只是一個。問題是,我應該選擇什麼,爲什麼?
這跟隨我之前關於使用lxml和Python的問題。對使用XPath感到困惑
我有一個問題,至於在使用lxml.etree提供的方法和我可以使用XPath的方法之間進行選擇時,應該如何使用?例如,要獲取XML文檔中所有X標籤的列表,我可以使用lxml.etree的getiterator()
來遍歷它,或者我可以編寫XPath表達式://x
。
可能有更多的例子,這只是一個。問題是,我應該選擇什麼,爲什麼?
XPath通常比單元顯式迭代更可取。 XPath更簡潔,並且可能會更快,因爲它在XML引擎中實現。
如果在XPath中有複雜的標準無法輕鬆表達(或根本不能表達),或者您需要訪問所有節點以進行其他處理,或者你想獲得豐富的調試輸出。
感謝您的回答。 – user225312 2010-06-21 13:19:47
我剛做了基準測試,xml.etree提供的方法比XPath快得多。如果你感興趣,我可以粘貼代碼:) – user225312 2010-06-21 17:42:26