【发布时间】:2014-08-06 00:38:46
【问题描述】:
我正在处理一个巨大的 xml 文件并尝试从不同的元素中提取信息。
import xml.etree.ElementTree as ET
tree = ET.parse('t.xml')
root = tree.getroot()
要查找元素,我使用 find 方法:
elm = root.find('.//Element[@elmid="1234"]')
我从中提取信息,此外我还需要来自父元素的信息。但elm.find('..') 仅返回None,如此处所述:
https://docs.python.org/3/library/xml.etree.elementtree.html
现在我使用以下:
prt = root.find('.//Element[@elmid="1234"]/..')
elm = prt.find('/Element[@elmid="1234"]')
这对我来说看起来有点不自然,但很有效。
您知道更好的方法吗?
你知道为什么只返回None吗?
【问题讨论】:
标签: python xml elementtree