fra*_*591 5 python xml elementtree
ElementTree.parse() 在下面的简单示例中失败并显示错误
xml.etree.ElementTree.ParseError:不在实体开头的XML或文本声明:第2行,第0列
XML看起来有效,代码很简单,所以我做错了什么?
xmlExample = """
<?xml version="1.0"?>
<data>
stuff
</data>
"""
import io
source = io.StringIO(xmlExample)
import xml.etree.ElementTree as ET
tree = ET.parse(source)
Run Code Online (Sandbox Code Playgroud)
ale*_*cxe 23
您在XML字符串的开头有一个换行符,将其删除:
xmlExample = """<?xml version="1.0"?>
...
Run Code Online (Sandbox Code Playgroud)
或者,您可能只是strip()XML字符串:
source = io.StringIO(xmlExample.strip())
Run Code Online (Sandbox Code Playgroud)
作为旁注,您不必创建类似文件的缓冲区,.fromstring()而是使用:
root = ET.fromstring(xmlExample)
Run Code Online (Sandbox Code Playgroud)