【发布时间】:2019-08-19 19:46:38
【问题描述】:
我正在尝试使用以下内容解析 KML 服务:
import requests
import responses
import xml.etree.ElementTree as ET
response = requests.get('http://206.74.144.42/eitms/roadconditions/')
data = str(response.content)
tree = ET.fromstring(data)
但它一直告诉我 XML 格式不正确,如下所示:
not well-formed (invalid token): line 1, column 1
这是什么意思,我该如何解决?使用 Python 3.6。
【问题讨论】:
-
你为什么使用
data[1:]?如果您因为第一个字符是引号而要删除它,那么您可能需要删除最后一个字符,因为它也是一个引号。也许这就是它抱怨的原因。 -
第一个字符是 'b' 这就是原因
-
如果你的意思是它看起来像
b'something',b实际上并不是字符串的一部分。 -
它确实看起来像那样,但即使使用
data它也会产生相同的结果。 @JohnGordon 查看更新后的问题。 -
我尝试自己运行您的代码。如果你直接调用
fromstring(response.content),而不用str()进行转换,就可以了。