【问题标题】:Confused about using XPath or not对是否使用 XPath 感到困惑
【发布时间】:2010-06-21 12:34:38
【问题描述】:

这是我之前关于使用 lxml 和 Python 的问题。

我有一个问题,当我可以在使用 lxml.etree 提供的方法和在哪里可以使用 XPath 之间进行选择时,我应该使用什么?

例如,要获取 XML 文档中所有 X 标记的列表,我可以使用 lxml.etree 的 getiterator() 遍历它,或者我可以编写 XPath 表达式://x

可能还有很多例子,这只是一个。问题是,当我有选择的时候应该选择哪一个?为什么?

【问题讨论】:

    标签: python lxml


    【解决方案1】:

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

    如果存在无法在 XPath 中轻松表达(或根本无法表达)的复杂条件,或者无论如何您需要访问所有节点以进行其他处理,或者如果您希望使用显式迭代想要获得丰富的调试输出。

    【讨论】:

    • 我刚刚做了一个基准测试,xml.etree提供的方法比XPath快得多。如果您有兴趣,我可以粘贴代码:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-23
    相关资源
    最近更新 更多