[英]Python LXML findall then give a path
如何获得已建立元素的路径?
tree = et.parse(inputFile)
root = tree.getroot()
items = root.findall(".//ns:COMPU-METHOD/[ns:CATEGORY='TEXTTABLE']", ns)
for enums in items:
enumName = enums.find('ns:SHORT-NAME', ns).text
path = ?
这取决于你所说的“路径”是什么意思。 您可以通过依次调用每个元素的getparent
来获取返回根的元素列表。 LXML 将属性和文本节点转换为字典和字符串,因此任何父信息都会丢失,但它适用于元素
def get_element_path(e):
elems = []
while e:
elems.append(e)
e = e.getparent()
return "/" + "/".join(e.tag for e in elems)
这将告诉您元素名称,但如果任何元素具有超过 1 个子元素,则它不是 object 的完整 XPATH。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.