2016-06-10 101 views
1

我試圖從xml中的設備配置中獲取xpaths的完整列表。Python lxml getpath錯誤

當我運行它,雖然我得到:

AttributeError: 'Element' object has no attribute 'getpath' 

代碼是短短的幾行

import xml.etree.ElementTree 
import os 
from lxml import etree 

file1 = 'C:\Users\test1\Desktop\test.xml' 
file1_path = file1.replace('\\','/') 


e = xml.etree.ElementTree.parse(file1_path).getroot() 

for entry in e.iter(): 
    print e.getpath(entry) 

人遇到過嗎?

感謝

裏奇

+0

我試圖讓它轉儲文件元素的完整XPath。 http://stackoverflow.com/questions/1577293/how-to-get-path-of-an-element-in-lxml似乎說這是可以做到的。 – kingwiiwii

回答

0

您錯誤地做,不叫getroot只是分析和使用LXML .etree ITER:

import lxml.etree as et 

file1 = 'C:/Users/test1/Desktop/test.xml' 

root = et.parse(file1) 
for e in root.iter(): 
    print root.getpath(e) 

如果你正在處理您可能會發現的命名空間getelementpath usefule:

root.getelementpath(e) 
+1

謝謝你看起來更好。不顯示價值只是路徑如此噁心去弄清楚如何做到這一點。 – kingwiiwii