2011-04-12 2 views
1

Вот источник Python:«элемент не найден», используя xml.etree.ElementTree с файлом XML из Интернета

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

Post ваш реальный код. Что у вас есть для меня. – Daenyth

+0

Можете ли вы открыть этот URL-адрес в браузере и получить XML? Ошибка звучит как преждевременный EOF во входном потоке при выполнении 'et.parse()'. –

+0

Код работает: импорт urllib2 из xml.etree.cElementTree импорта разбора, сваливать fsock = urllib2.urlopen ('http://eprints.soton.ac.uk/cgi/exportview/divisions/uos-fp/ 2009/XML/uos-fp_2009.xml ') doc = parse (fsock) dump (doc) – DrDee

ответ

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

Спасибо, это работает, но кажется, что он никогда не остановится, вроде бесконечной итерации –

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

  • Нет связанных вопросов^_^