由于'&'的存在,Python给出了“格式不正确的xml”错误人物

时间:2011-11-14 00:08:50

标签: python xml ampersand

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

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

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

2 个答案:

答案 0 :(得分:7)

不,你不能忽视支票。您的“xml文件”不是XML文件 - 要成为XML文件,必须对&符号进行转义。因此,没有专门用于读取XML文件的软件会在没有错误的情况下对其进行解析。您需要更正生成此文件的软件,以便生成正确的(“格式良好”)XML。如果人们开始发送格式不正确的人并且接收它的人试图修补它,那么使用XML进行交换的所有好处都会完全消失。

答案 1 :(得分:2)

我添加了一行&#34; <?xml version='1.0' encoding='iso-8859-1'?>&#34;在前面的字符串是诀窍。

>>> 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