对使用​​XPath感到困惑

问题描述:

这跟随我之前关于使用lxml和Python的问题。对使用​​XPath感到困惑

我有一个问题,至于在使用lxml.etree提供的方法和我可以使用XPath的方法之间进行选择时,应该如何使用?例如,要获取XML文档中所有X标签的列表,我可以使用lxml.etree的getiterator()来遍历它,或者我可以编写XPath表达式://x

可能有更多的例子,这只是一个。问题是,我应该选择什么,为什么?

XPath通常比单元显式迭代更可取。 XPath更简洁,并且可能会更快,因为它在XML引擎中实现。

如果在XPath中有复杂的标准无法轻松表达(或根本不能表达),或者您需要访问所有节点以进行其他处理,或者你想获得丰富的调试输出。

+0

感谢您的回答。 – user225312 2010-06-21 13:19:47

+0

我刚做了基准测试,xml.etree提供的方法比XPath快得多。如果你感兴趣,我可以粘贴代码:) – user225312 2010-06-21 17:42:26