ElementTree.parse()
在下面的简单示例中失败,并显示以下错误:
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)
最佳答案
XML字符串的开头有一个换行符,请将其删除:
xmlExample = """<?xml version="1.0"?>
...
或者,您可以只对XML字符串
strip()
:source = io.StringIO(xmlExample.strip())
附带说明,您不必创建类似文件的缓冲区,而使用
.fromstring()
代替:root = ET.fromstring(xmlExample)