python - 使用 ElementTree.parse 解析 XML 文件时出错

标签 python mysql xml

我正在使用 Python 的 elementtree 库来解析从 MySQL 查询浏览器导出的 .XML 文件。当我将结果集导出到 .XML 时,它包含这个非常奇怪的字符,它在我的编辑器中显示为绿色圆角矩形中突出显示的字母“BS”。 (见屏幕截图)无论如何我遍历文件并尝试手动替换字符,但它不能匹配,因为在我这样做之后:

for lines in file:
    lines.replace("<Weird Char>", "").strip();

我从解析方法中得到一个错误。但是,如果我在写字板/记事本等中手动替换字符......解析调用工作正常。我正在寻找一种无需手动解析字符的方法。

任何帮助都将是巨大的:我提供了两个屏幕截图,一个是角色在我的编辑器中的显示方式,另一个是它在 Chrome 中的显示方式。

谢谢

screen shot from my editor screen shot from chrome

编辑:抱歉,您可能需要放大图像。

最佳答案

退格字符不是有效的 XML 字符,需要转义 ()。我很惊讶 MySQL 在这里没有这样做,但我不熟悉 MySQL。您还可以检查您的数据并使用更新语句清理它以删除该字符(如果它不是表的有效数据)。

就用 python 解析它而言,这应该可行:

lines.replace("\b", "&#08;")

关于python - 使用 ElementTree.parse 解析 XML 文件时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6332100/

相关文章:

c# - 如何在不使用对话框的情况下在 C# 项目中为 MySQL 数据库设置连接字符串?

java - 在android中序列化(将文档写入文本文件)的方法

javascript - 如何快速将查询结果集转储到 JSON 中?

python - 仅使用一列对嵌套列表进行排序

mysql - 使用 MySQL 数据库很慢

javascript - 转换数据以制作 Google 图表

sql - T-SQL 使用变量从 xml 中检索 sql 属性

c++ - boost 认识 child

python - 使用 Python 3 从动态 HTML 表中提取数据

python - 依赖于 numpy 中 2 个数组的函数的矢量化