我不知道这是否是提出这个问题的合适地点,但这里有......
我有一个我想读的XML文件。到目前为止,我一直在使用lxml.etree.ElementTree
。但是,我发现我需要的功能允许我从子节点传播到XML中的父节点。
lxml.etree.ElementTree
似乎无法做到这一点。是否有一个xml解析库可以让我这样做?
如果重要,我正在使用Python 2.7.3
谢谢
答案 0 :(得分:1)
xml.etree.ElementTree.Element
s不跟踪父元素,但是lxml.etree._Element
s:
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>