2016-06-10 107 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