【发布时间】:2020-04-16 01:51:38
【问题描述】:
进口:
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
问题可能是什么?文档和其他线程似乎没有提到此异常的另一个原因。
【问题讨论】:
-
我无法重现该问题。你的两个样本都对我有用。顺便说一句,发布代码时请不要遗漏
import语句。 -
@mzjn 抱歉,现在将编辑以添加导入。感谢您的指点。奇怪的是它可以在你的机器上运行,而不是在我的机器上运行。不知道为什么它在我的机器上坏了。谢谢!
-
@mzjn 是的,XMLElements 是我的模块之一。将编辑导入 rn。
标签: python xml xml-parsing elementtree