[英]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.