1

python脚本中的这一行:

result = xmltodict.parse('path/to/schema.xml', encoding='utf-8')

生成此错误:

johnnyb@verahost ~/SignalDB $ python3 xmltest.py
Traceback (most recent call last):
  File "xmltest.py", line 13, in <module>
    result = xmltodict.parse('path/to/schema.xml', encoding='utf-8')
  File "/home/johnnyb/.local/lib/python3.5/site-packages/xmltodict.py", line 330, in parse
    parser.Parse(xml_input, True)
xml.parsers.expat.ExpatError: not well-formed (invalid token): line 1, column 8

文件的第一行是:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>

我错过了什么?注意:开头的 BOM 在 linux 命令行中没有通过 head 显示(以上文字来自 Win10)。欢迎提出建议!以前从来没有用过 XML,我的运气今天结束了......

编辑:我能够通过首先打开()文件来解决它,但这似乎应该是不必要的?

with open('path/to/schema.xml', 'r', encoding='utf-8') as fd:
    result = xmltodict.parse(fd.read())
4

0 回答 0