我在 Python 中使用 ElementTree 解析 XML。当我从字符串解析 XML 时,它工作正常,但是当我从 HTTP 响应解析字符串时,我得到:
ParseError: no element found: line 1, column 0
代码:
params = urllib.urlencode({'service':'A','U': 'user', 'pw': 'pw'})
f = urllib.urlopen("http://localhost/default.aspx?%s" % params)
response = f.read()
reponse_1 = """<?xml version="1.0" encoding="utf-8" ?><DATA><key id="SESSIONID">fb48b53fec5840bf9327b243d3e4f126</key></DATA>"""
root = ET.fromstring(response)
当我做:
ET.fromstring(response_1)
它可以工作,但是当我从 HTTP 响应中做同样的事情时。我明白了ParseError
。我已经检查了响应是否为类型str
,否则它看起来完全一样。
这里发生了什么事?