2011-04-12 81 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