[英]xml prasing in python 3 errors (xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 1, column 2)
[英]Python XML Parse errors with Invalid Token
我正在将代码从 Python 2.7 移动到 Python 3.10。 代码的一部分创建了经过“美化”并写入文件的 XML。 但是在 Python 3.x 中解析会引发错误。 在一种情况下,问题似乎与编码的破折号字符有关。
<?xml version='1.0' encoding='utf8'?>
<properties>
<entry key="name">AB&R - RFA #3 \xe2\x80\x93 Alignment</entry>
</properties>
解析如下:
xml_parsed = xml.dom.minidom.parseString(xml_string)
return xml_parsed.toprettyxml(" ", "\n")
抛出的错误是:
not well-formed (invalid token): line 2
我认为 Python 2.7 不会出现这个问题。 这里有一个关于 en-dash 的很好的描述(尽管我认为我的问题不仅限于 en-dash)。
可以做些什么来解决这个问题?
我最初对问题的描述是不正确的。 XML 文本存储为字节字符串。 以下代码对我有用:
xml_string = xml_string.decode("utf-8")
xml_parsed = xml.dom.minidom.parseString(xml_string)
return xml_parsed.toprettyxml(" ", "\n")
我不需要在 Python 2.7 中进行 utf-8 解码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.