Python:SOAP响应。删除Response标头,保留其余部分?

时间:2016-03-02 23:27:48

标签: python web-services csv soap

我认为这很简单.....

我有一个脚本,它接收大量数据,更改一些字符,将数据拆分为带有标题的列和行,并以CSV格式输出。这在使用来自文本文件的数据进行测试时非常好。真正的用途是调用经过身份验证的Web服务。这也很好。

问题是格式化数据的所有代码,并使最终的CSV文件在从Web服务调用时不起作用。

原因是结果的第一行

<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'><env:Header></env:Header><env:Body><ns1:GetACustomReportResponse xmlns:ns1="http://www.customurlfortesting.com/gem/services/gds">< report >Header1,Header2,Header3

当我最初测试时,我只检索了Header1,Header2,Header3等所有可被替换的角色分开。现在仍然如此,但由于Header1之前的内容,其余的格式化在开始时失败了。有没有办法在结果中无法获得该信息?

r = requests.post(url,data=body,headers=headers)
data = str(r.text.encode('utf-8').replace("\"....etc  < im guessing I can strip that first line of the reults in here since this is where my results are but I don't exactly how to remove that line dynamically without affecting anything else. I want to remove everything from <env:Envelope to <report> including <env:Envelope and <report>

由于

1 个答案:

答案 0 :(得分:0)

将其排序

添加到初始字符串定义

.rpartition('<report>')[-1]