2014-07-01 5 views
0

Я новичок в разборе python xml. Я разбираю XML-файл с использованием концепции elementtree.Доступ к элементу без тегов файла xml

Я прошел через domumentation, и я написал сценарий в python.

doc = parse(filePath) 

name = doc.getElementsByTagName('package') 

print(name) 
child_name = name[0] 
print(child_name) 
print(child_name.tag) 
print(child_name.attrib) 

код работает в определенной степени, но выход child_name.tag и child_name.attrib не работает. Когда я исполняю я получаю свою ошибку:

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

В файле XML для элементов пакета имеет идентификатор, имя, псевдоним, комментарии DESC и так далее. Мне нужно получить доступ к этим материалам.

Может кто-нибудь пожалуйста, скажите мне, как я должен подойти к этой проблеме

ответ

0

Оба этих

print(child_name.tag) 
print(child_name.attrib) 

Дам ошибку.

Чтобы подойти к этому использованию:

print(child_name['tag']) 
print(child_name['attrib']) 

Однако при выполнении этого метода вам нужен абсолютная уверенность в том, что структура не меняется.

Один из способов заключается в использовании

try: 
    print(child_name['tag']) 
    print(child_name['attrib']) 
catch: 
    pass 

Где pass это вы должны рассмотреть различные индексы.

В этой части вы можете:

for item in name: 
    print(item) 
+0

Привет я пытался использовать способ, который вы предложили. Но все же я не могу согласиться с этим. Я ничего не получал, но я все еще могу получить некоторый вывод, например: ''. Но как получить доступ к этим элементам, все еще кое-что, что я пытаюсь выяснить. – sankar

+0

Попробуйте использовать этот 'the_page = xmltodict.parse (doc)' обязательно для импорта xmltodict'. Затем вы сможете выполнять доступ к словарю в файле. В противном случае попробуйте это: http://stackoverflow.com/questions/18834393/python-xml-file-open –

+0

Я решил проблему, она была простой, я использовал 'root.iter ('package')' и получил мне нужен результат. – sankar

Смежные вопросы