2016-06-10 5 views
1

Я пытаюсь получить полный список xpaths из конфигурации устройства в xml.Python lxml getpath error

Когда я запускаю его, хотя я получаю:

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) 

кто приходят через это раньше?

Благодаря

Richie

+0

Я пытаюсь заставить его выгрузить полный XPath элементов файлов. http://stackoverflow.com/questions/1577293/how-to-get-path-of-an-element-in-lxml Кажется, это можно сделать. – kingwiiwii

ответ

0

Вы делаете это неправильно, не называйте GetRoot просто разобрать и ИТЭР с помощью LXML .etree:

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