«Элемент не найден» с использованием xml.etree.ElementTree с XML-файлом из Интернета

1

Здесь источник Python:

fsock = urllib2.urlopen('http://eprints.soton.ac.uk/cgi/exportview/divisions/uos-fp/2009/XML/uos-fp_2009.xml')

doc=et.parse(fsock)

Когда я попытался запустить это, вы получите следующую ошибку:

Traceback (most recent call last):
  File "C:\Python27\reading and writing xml file from web1.py", line 30, in 
    doc=et.parse(fsock)
  File "C:\Python27\lib\xml\etree\ElementTree.py", line 1176, in parse
    tree.parse(source, parser)
  File "C:\Python27\lib\xml\etree\ElementTree.py", line 654, in parse
    self._root = parser.close()
  File "C:\Python27\lib\xml\etree\ElementTree.py", line 1635, in close
    self._raiseerror(v)
  File "C:\Python27\lib\xml\etree\ElementTree.py", line 1487, in _raiseerror
    raise err
ParseError: no element found: line 1, column 0

Может ли кто-нибудь помочь, почему это происходит?

  • 0
    Разместите свой реальный код. То, что у тебя есть, работает на меня.
  • 0
    Можете ли вы открыть этот URL в браузере и получить XML? Ошибка звучит как преждевременный EOF во входном потоке при выполнении et.parse() .
Показать ещё 1 комментарий
Теги:
elementtree

1 ответ

0

Ваш код работает:

import urllib2  
from xml.etree.cElementTree import parse, dump  

fsock = urllib2.urlopen('http://eprints.soton.ac.uk/cgi/exportview/divisions/uos-fp/2009/XML/uos-fp_2009.xml')

doc = parse(fsock)  
dump(doc)
  • 0
    Спасибо, это работает, но кажется, что это никогда не остановится, вроде бесконечной итерации

Ещё вопросы

Сообщество Overcoder
Наверх
Меню