[英]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.