进口:
import io
import xml.etree.ElementTree as ElementTree
注意:我已经查看了这个异常的其他线程,它们都提到了一个潜在的问题,那就是XML文件的格式可能不正确;我非常确定我的是格式良好的,在多次检查之后,通过在线验证器再次检查
基本上,我在io.StringIO文件对象上调用Python的ElementTree.parse()函数时遇到问题。我知道这个操作是有效的,因为问题代码正上方的以下代码是有效的:
testXMLInput = io.StringIO("<timedmile><miles>1</miles><minutes>1</minutes><seconds>1</seconds><month>1</month><day>1</day><year>1</year></timedmile>")
myElementTree = ElementTree.parse(testXMLInput)
但是,以下代码不起作用:
xmlOutput = io.StringIO("<logdata><timedmiles></timedmiles></logdata>")
testElementTree = ElementTree.parse(xmlOutput)
我尝试在timedmiles元素中输入一个值,但这并没有阻止引发以下异常:
xml.etree.ElementTree.ParseError: no element found: line 1, column 0
有什么问题吗?文档和其他线程似乎没有提到此异常的另一个原因
也许你使用了一些过时的ElementTree版本
运行
ElementTree.VERSION
获取版本我使用的版本是1.3.0,没有收到您的错误(在这两种情况下)。 也许你应该升级你的软件
我还有另一句话:在解析源文件之后,结果是ElementTree类型。 但是要执行各种操作,您应该运行
root = myElementTree.getroot()
(这次的结果是元素类型)并使用 就是这个根元素例如,如果运行
ElementTree.tostring(...)
,则第一个参数应为 根,而不是myElementTree相关问题 更多 >
编程相关推荐