7

我正在使用 Python 读取 xml 文件。但是我的 xml 文件包含&字符,因此在运行我的 Python 代码时,它会给出以下错误:

xml.parsers.expat.ExpatError: not well-formed (invalid token):

有没有办法忽略&python的检查?

4

2 回答 2

8

不,您不能忽略检查。您的“xml 文件”不是 XML 文件 - 要成为 XML 文件,必须对 & 符号进行转义。因此,任何旨在读取 XML 文件的软件都不会毫无错误地解析它。您需要更正生成此文件的软件,以便它生成正确的(“格式良好的”)XML。如果人们开始发送格式不正确的东西并且接收它的人试图修补它,那么使用 XML 进行交换的所有好处都将完全消失。

于 2011-11-14T09:16:17.893 回答
2

对我来说<?xml version='1.0' encoding='iso-8859-1'?>,在字符串前面添加“”行就可以了。

>>> text = '''<?xml version="1.0" encoding="iso-8859-1"?>
    ... <seuss><fish>red</fish><fish>blu\xe9</fish></seuss>'''
>>> doc = elementtree.ElementTree.fromstring(text)

请参阅此页面 https://mail.python.org/pipermail/tutor/2006-November/050757.html

于 2014-10-24T08:23:12.127 回答