【发布时间】:2012-07-02 14:53:57
【问题描述】:
我正在使用ElementTree.parse 函数解析用utf-16 编码的xml 文件。
当文件包含一些格式不正确的字符(例如♀, ♂ .etc)时,程序会崩溃。并且出现错误“xml.parsers.expat.ExpatError: not well-formed (invalid token)”。
我怎样才能避免这个错误并解决这个问题?我怎么能忽略这些格式不正确的字符?谢谢!以下是我的代码:
tree = ElementTree()
root = tree.parse(xml_file)
xml_file 是以 UTF-16 格式编码的文件。 错误会指出格式不正确的字符的行号和列号。
【问题讨论】:
-
您没有提供足够的信息。代币放在哪里?里面的标签、属性名、属性值还是元素值?它们在 CDATA 事物之间吗?文件真的是用 UTF-16 编码的吗?如果标头设置正确?
-
字符在元素值中。是的,它在 CDATA 事物之间。
-
@Blubber xml内容是这样的:
♂ John -
如果您在问题中显示您编写的代码会很方便,以便我可以详细说明我的答案。
-
@MarcodeWit 感谢您的回复。我已经在问题中展示了我的代码。
标签: python xml xml-parsing elementtree