在Python中处理生成错误的XML

时间:2015-02-18 09:53:35

标签: python xml-parsing

必须处理一堆形成错误的XML文件。 它们的形成方式不同,在许多孩子中,属性名称都有一个空格:

<...>
    <bar attr1="..." attr xy="..."> 
        foo
    </bar>
</...>

有没有一种方法可以解决这个问题? 目前我正在使用Python ElementTree进行解析。

(我猜空白是问题,错误信息指向空白。

cElementTree.ParseError: not well-formed (invalid token): line 435, column 214

据我所知,它被解释为缺少值的属性)

我知道有可能只是将错误的东西替换为解析它。

1 个答案:

答案 0 :(得分:0)

使用美丽的汤,或lxml与美丽的汤后端。但请注意,美丽的汤可能会解析&#34;属性名称&#34;其中有一个空格作为两个属性。

另一种方法是使用正则表达式来首先修复输入。