Python ElementTree“未找到元素”异常

2024-09-29 19:23:39 发布

您现在位置:Python中文网/ 问答频道 /正文

进口:

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

有什么问题吗?文档和其他线程似乎没有提到此异常的另一个原因


Tags: 文件代码ioimportparse格式xml线程
1条回答
网友
1楼 · 发布于 2024-09-29 19:23:39

也许你使用了一些过时的ElementTree版本

运行ElementTree.VERSION获取版本

我使用的版本是1.3.0,没有收到您的错误(在这两种情况下)。 也许你应该升级你的软件

我还有另一句话:在解析源文件之后,结果是ElementTree类型。 但是要执行各种操作,您应该运行root = myElementTree.getroot()(这次的结果是元素类型)并使用 就是这个元素

例如,如果运行ElementTree.tostring(...),则第一个参数应为 ,而不是myElementTree

相关问题 更多 >

    热门问题