我使用python请求模块向soap服务发出请求,代码如下:
response = requests.get(url,data=body,headers=headers)
服务将此xml作为响应返回:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:aa="example.com/api"><soap:Body>
<aa:GetStockFileResponse> GetStockFileResponseType
<aa:TestMode> boolean </aa:TestMode>
<aa:Errors> ArrayOfError
<aa:Error> Error
<aa:Code> int </aa:Code>
<aa:Description> string </aa:Description>
</aa:Error>
</aa:Errors>
<aa:Warnings> ArrayOfWarning
<aa:Warning> Warning
<aa:Code> int </aa:Code>
<aa:Description> string </aa:Description>
</aa:Warning>
</aa:Warnings>
<aa:StockFileFormat> StockFileFormat (string) </aa:StockFileFormat>
<aa:FieldDelimiter> StringLength1 (string) </aa:FieldDelimiter>
<aa:File> base64Binary </aa:File>
</aa:GetStockFileResponse>
</soap:Body></soap:Envelope>
我需要将<aa:File> base64Binary </aa:File>
的内容写入一个csv文件,这是一个base64编码的csv文件。
我编写响应的代码是:
with open ('test.csv','wb') as f:
f.write (response.content)
很明显,它编写了整个xml。。。
如何只获取<aa:File> base64Binary </aa:File>
内容?你知道吗
像这样的解决办法?你知道吗
相关问题 更多 >
编程相关推荐