簡體   English   中英

Python LXML findall 然后給出路徑

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM