2011-04-12 26 views
1

這裏的Python源:「無元素中找到」表示使用XML文件xml.etree.ElementTree從Web

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

安置自己的真正的代碼。你對我有用。 – Daenyth 2011-04-12 20:52:28

+0

你真的可以在瀏覽器中打開該URL並檢索XML嗎?執行'et.parse()'時,錯誤聽起來像輸入流中的過早EOF。 – 2011-04-12 20:54:19

+0

代碼工作:從xml.etree.cElementTree進口解析 進口的urllib2 ,自卸 fsock = urllib2.urlopen('http://eprints.soton.ac.uk/cgi/exportview/divisions/uos-fp/ 2009/XML/uos-fp_2009.xml') doc =解析(fsock) 轉儲(doc) – DrDee 2011-04-12 21:04:38

回答

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

謝謝,它的作品,但它似乎永遠不會停止,無限迭代 – 2011-04-12 21:21:37