1

我正在尝试解析一些 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
4

1 回答 1

0

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

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

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

祝你好运

于 2013-04-28T14:27:58.123 回答