gpt4 book ai didi

python - 解析错误: not well-formed (invalid token) using ElementTree

转载 作者:行者123 更新时间:2023-12-01 07:37:30 24 4
gpt4 key购买 nike

我有一个罕见的问题,我似乎无法解决这个问题,它与在 python 中使用 ElementTree 进行 XML 解析有关。

尝试寻找有关类似问题的线索和答案,但没有帮助

我的功能:

def errorChecker(xmlResponse):
xmlResponse = str(xmlResponse)
xmlText = xmlParser.fromstring(xmlResponse)
errorText = ""
for xmlData in xmlText.iter():
print xmlData.tag
if xmlData.tag == "fault":
for errorData in xmlText.iter('code'):
#errorText = errorDict[errorData]
return errorData.text
return False

当我传递这个 XML 代码时,它返回得很好:

"""<?xml version="1.0" encoding="utf-8"?>
<response>
<fault>
<code>1055</code>
</fault>
</response>"""

但是当我直接从服务器获取 XML 并将其传递给函数时,我收到此错误:

Traceback (most recent call last):
File "wmsTest.py", line 556, in <module>
errorChecker(str(location))
File "wmsTest.py", line 134, in errorChecker
xmlText = xmlParser.fromstring(str(xmlResponse))
File "C:\Python27\lib\xml\etree\ElementTree.py", line 1311, in XML
parser.feed(text)
File "C:\Python27\lib\xml\etree\ElementTree.py", line 1659, in feed
self._raiseerror(v)
File "C:\Python27\lib\xml\etree\ElementTree.py", line 1523, in _raiseerror
raise err
xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 6, column 11

添加了有关我的服务器请求的信息:

我使用请求来访问服务器。通过使用:

response = requests.post(appServer, data=xml)
print "raw from server"
print response.text
print "str response"
print str(response.text)
return response.text

响应是:

    raw from server
<?xml version="1.0" encoding="utf-8"?>
<response>
<fault>
<code>1055</code>
</fault>
</response>
str response
<?xml version="1.0" encoding="utf-8"?>
<response>
<fault>
<code>1055</code>
</fault>
</response>

Python 将传入的 XML 解释为 unicode 类型,它与上面的手动 XML 代码完全相同,因为它是打印我只在开始和结束处添加了“””。

有什么线索吗?

最佳答案

对返回的长度进行一些检查后,我发现服务器返回的响应比预期的要长,在 后的末尾添加了一个空格。删除空间解决了问题!

关于python - 解析错误: not well-formed (invalid token) using ElementTree,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56917248/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com