XML解析器,recover = True?

时间:2013-04-28 14:23:37

标签: python xml parsing

我正在尝试解析一些XML,但是我收到了一条错误消息。 看了一下之后,我怀疑它是由于源文本中的某种特殊字符,并且(recover = True)应该放在我的解析器行中。 但是我不知道确切的位置。 有人可以看看吗?

for name in newlist:
tree = ET.parse(loc + name)     

root = tree.getroot()           

for post in root.findall('post'):   

    text = post.text                

    text = text.strip()                     

    posts.append(text)  

我得到的错误是:

ParseError: not well-formed (invalid token): line 103, column 225

1 个答案:

答案 0 :(得分:0)

我不熟悉python但是我使用c#有这样的问题。这可能是因为xml没有正确格式化。通常,xml文件的第一行将包含类似

的内容
<?xml version="1.0" encoding="UTF-8" ?>  

版本和编码很重要,因为它告诉解析器允许哪些字符。 UTF-8是默认值,但有时xml文件将包含非ascii字符,导致此操作变得疯狂。将编码更改为UTF-16有时会修复此问题。

祝你好运