我正在尝试解析一些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
答案 0 :(得分:0)
我不熟悉python但是我使用c#有这样的问题。这可能是因为xml没有正确格式化。通常,xml文件的第一行将包含类似
的内容<?xml version="1.0" encoding="UTF-8" ?>
版本和编码很重要,因为它告诉解析器允许哪些字符。 UTF-8是默认值,但有时xml文件将包含非ascii字符,导致此操作变得疯狂。将编码更改为UTF-16有时会修复此问题。
祝你好运