1

我不知道这是不是问这个问题的正确地方,但是这里……</p>

我有一个想要阅读的 XML 文件。到目前为止,我一直在使用lxml.etree.ElementTree. 但是,我发现我需要允许我在 XML 中从子节点到其父节点的功能。

这似乎是不可能的lxml.etree.ElementTree。是否有允许我这样做的 xml 解析库?

万一这很重要,我在 Python 2.7.3

谢谢

4

1 回答 1

1

xml.etree.ElementTree.Elements 不跟踪父元素,但lxml.etree._Elements 会:

parent = elt.getparent()

例如,

import lxml.etree as ET
# import xml.etree.ElementTree as ET
text = '''\
<root>
<foo>
    <bar/>
    <bar/>
</foo>
</root>'''

root = ET.fromstring(text)
for elt in root.findall('foo/bar'):
    parent = elt.getparent()
    print(parent)

产量

<Element foo at 0xb7415c34>
<Element foo at 0xb7415c34>
于 2013-05-08T20:34:39.193 回答