我正在使用Python读取xml文件。但是我的xml文件包含&
个字符,因此在运行我的Python代码时会出现以下错误:
xml.parsers.expat.ExpatError: not well-formed (invalid token):
有没有办法忽略python的&
检查?
答案 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