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

时间:2011-06-13 14:53:40

标签: python mysql xml

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

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

我从解析方法中收到错误。但是,如果我在wordpad / notepad等手动替换字符...解析调用正常工作。我正在寻找一种解析角色的方法,而无需手动完成。

任何帮助都会很棒:我包括两个屏幕截图,一个是角色在我的编辑器中出现的方式,另一个是它在Chrome中的显示方式。

由于

screen shot from my editor screen shot from chrome

编辑:对不起,您可能需要放大图片。

1 个答案:

答案 0 :(得分:1)

退格符不是有效的XML字符,需要进行转义(&#08;)。我很惊讶MySQL并没有这样做,但我不熟悉MySQL。您还可以检查数据并使用update语句对其进行清理,以便在该字符不是表的有效数据时删除该字符。

至于在python中解析它,这应该有效:

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