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

发布于 2024-12-15 04:53:05 字数 251 浏览 1 评论 0原文

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

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

Is there a way toignor the & check by python ?

I am reading an xml file using Python. But my xml file contains & characters, because of which while running my Python code, it gives the following error:

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

Is there a way to ignore the & check by python?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

攒一口袋星星 2024-12-22 04:53:05

不,你不能忽视支票。您的“xml 文件”不是 XML 文件 - 要成为 XML 文件,必须对 & 进行转义。因此,任何设计用于读取 XML 文件的软件都无法正确解析它。您需要更正生成此文件的软件,以便它生成正确的(“格式良好”)XML。如果人们开始发送格式不正确的内容并且接收它的人试图修补它,那么使用 XML 进行交换的所有好处就会完全消失。

No, you can't ignore the check. Your 'xml file' is not an XML file - to be an XML file, the ampersand would have to be escaped. Therefore, no software that is designed to read XML files will parse it without error. You need to correct the software that generated this file so that it generates proper ("well-formed") XML. All the benefits of using XML for interchange disappear entirely if people start sending stuff that isn't well-formed and people receiving it try to patch it up.

故事和酒 2024-12-22 04:53:05

对我来说,在字符串前面添加行“”就可以了。

>>> 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-11月/050757.html

For me adding the line "<?xml version='1.0' encoding='iso-8859-1'?>" in front the string is did the trick.

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

Refer this page
https://mail.python.org/pipermail/tutor/2006-November/050757.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文