Python因为存在'&'字符而导致出现“非格式良好的XML”错误。

9 浏览
0 Comments

Python因为存在'&'字符而导致出现“非格式良好的XML”错误。

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

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

有没有一种方式可以让Python忽略&的检查?

admin 更改状态以发布 2023年5月21日
0
0 Comments

对我来说,在字符串前添加行""就行了。

>>> text = '''
    ... redblu\xe9'''
>>> doc = elementtree.ElementTree.fromstring(text)

参考这个页面:
https://mail.python.org/pipermail/tutor/2006-November/050757.html

0
0 Comments

不,你不能忽略这个检查。你的'xml文件'不是一个XML文件——要成为XML文件,必须对&进行转义。因此,任何设计用于读取XML文件的软件都无法正确解析它。你需要修正生成该文件的软件,以便生成正确的(“格式正确”的)XML文件。如果人们开始发送不符合格式的内容,并试图修补它们以接收,那么使用XML进行交换的所有好处都将完全消失。

0