相关疑难解决方法(0)

访问ElementTree节点父节点

我正在使用内置的Python ElementTree模块.访问子节点很简单,但父节点或兄弟节点呢? - 这可以在不遍历整棵树的情况下有效地完成吗?

python elementtree

55
推荐指数
6
解决办法
5万
查看次数

使用ElementTree getpath()动态获取Xpath

我需要编写一个动态函数,通过动态构建元素的XPath来在ATOM xml的子树上查找元素。

为此,我编写了以下内容:

    tree = etree.parse(xmlFileUrl)
    e = etree.XPathEvaluator(tree, namespaces={'def':'http://www.w3.org/2005/Atom'})
    entries = e('//def:entry')
    for entry in entries:
        mypath = tree.getpath(entry) + "/category"
        category = e(mypath)
Run Code Online (Sandbox Code Playgroud)

上面的代码无法找到“类别”,因为getpath()返回的XPath没有名称空间,而XPathEvaluator e()需要名称空间。

尽管我知道我可以使用该路径并在对XPathEvaluator的调用中提供一个名称空间,但我想知道是否有可能使使用所有名称空间的getpath()返回“完全限定”的路径,因为在某些情况下这很方便案件。

(这是我先前的问题的一个附带问题:不带名称空间的Python XpathEvaluator

python xpath lxml elementtree

5
推荐指数
2
解决办法
8820
查看次数

标签 统计

elementtree ×2

python ×2

lxml ×1

xpath ×1