在python列表中获取一个sudsweb服务XML子组



Suds将返回子组XML元素作为'x="y"'的长字符串,如下所示。如何让子xml元素返回到数据集中,这样就不必编写字符串解析代码了?

详细信息:

我用泡沫像这样正常地调用web服务:

myWebServiceData=client.service.getMethod("P1", "P2", "P3")

它返回我想要的字典,但它看起来像这样:

myWebServiceData = { elm1: "data1", elm2: "data2", elm3: ["(data3){ elm4 = data4 elm5 = data5 elm6 = data6" ]}

所以data4下的任何数据都是一个长度为1的列表。像这样:

print myWebServiceData['elm4'][0]
elm4 = "data4" 
elm5 = "data5"
elm6 = "data6

"

然而,我的xml看起来是这样的(在我的日志中可以看到):

<elm1>data1</elm1>
<elm2>data2</elm2>
<elm3>
   <elm4>data4</elm4>
   <elm5>data5</elm5>
   <elm6>data6</elm6>
</elm3>

事实证明,给定的字符串可以很容易地转换为字典:

myElm3Dict = dict(myWebServiceData['elm3'][0])

最新更新