Разбор XML-файла Python - PullRequest
0 голосов
/ 29 июня 2018

Будучи довольно новым учеником Python, я поставил себе мини-проект для разбора XML-файла Highways England. пока мой код:

#!/usr/bin/python 


import urllib2
varresponse = urllib2.urlopen('http://m.highwaysengland.co.uk/feeds/rss/AllEvents.xml')

from xml.etree import ElementTree as et
tree = et.parse(varresponse)

root = tree.getroot()

for item in root:
print(item.tag, item.attrib)


for author in root.iter('author')
    print author

когда я запускаю это в терминале, оно печатает только слово author, но я хочу, чтобы оно печатало все в скобках автора, если это имеет смысл. также следующий шаг для меня - выбрать что-нибудь о M25 и напечатать это, но я тоже не совсем уверен, как это сделать.

Если бы кто-нибудь мог дать мне какой-либо совет о том, что изменить, я был бы так благодарен, ура ребята

Ответы [ 2 ]

0 голосов
/ 29 июня 2018

Если вы хотите распечатать тег <author> и все его содержимое, попробуйте что-то вроде:

print et.tostring(author)

При вводе сэмпла получается:

>>> print et.tostring(author)
<author>info@highwaysengland.co.uk</author>

Если вам нужен только текст, вы можете использовать атрибут .text, например:

print author.text
0 голосов
/ 29 июня 2018

Если вам просто нужен адрес электронной почты внутри тега автора, используйте .text

Ex:

for author in root.iter('author'):
    print author.text

Выход:

info@highwaysengland.co.uk
info@highwaysengland.co.uk
info@highwaysengland.co.uk
info@highwaysengland.co.uk
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...