我不知道这是不是问这个问题的正确地方,但是这里……</p>
我有一个想要阅读的 XML 文件。到目前为止,我一直在使用lxml.etree.ElementTree
. 但是,我发现我需要允许我在 XML 中从子节点到其父节点的功能。
这似乎是不可能的lxml.etree.ElementTree
。是否有允许我这样做的 xml 解析库?
万一这很重要,我在 Python 2.7.3
谢谢
我不知道这是不是问这个问题的正确地方,但是这里……</p>
我有一个想要阅读的 XML 文件。到目前为止,我一直在使用lxml.etree.ElementTree
. 但是,我发现我需要允许我在 XML 中从子节点到其父节点的功能。
这似乎是不可能的lxml.etree.ElementTree
。是否有允许我这样做的 xml 解析库?
万一这很重要,我在 Python 2.7.3
谢谢
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>