我对kSOAP很新。我有一个Web服务,它有一个巨大的响应,一个数组填充了对象和数组之外的一些额外数据。使用正常的getResponse()请求整个XML大约需要5-10秒。这将给我一个完整的数组,我将不会用于任何事情。
我现在的问题是,有没有办法只在数组之外获取数据的一小部分,而不必更改web服务本身,因为我无权更改web服务?
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<GetResponse xmlns="http://tempuri.org/">
<GetResult>
<a:Wrap>
<a:Country>DK</a:Country>
<a:ID>155</a:ID>
<a:SecondWrap>
<a:Pattern>
<b:ListPattern>
<b:Type>Price</b:Type>
<b:Day>1</b:Day>
<b:Hour>1</b:Hour>
<b:ListId>007</b:ListId>
<b:Price>135</b:Price>
</b:ListPattern>
<b:ListPattern>
<b:Type>Price</b:Type>
<b:Day>1</b:Day>
<b:Hour>2</b:Hour>
<b:ListId>007</b:ListId>
<b:Price>135</b:Price>
</b:ListPattern>
...
...
...
这是XML响应的一小部分。我不想只知道Wrap对象的国家和ID,并完全排除ListPattern。我甚至不想得到ListPattern。这是性能优化的问题。那么我有没有办法只获得国家和ID,甚至没有“下载”SecondWrap?
答案 0 :(得分:1)
唯一的方法是定义一个只返回这些值的新方法。
您无法告诉该服务只为您提供部分答案。
答案 1 :(得分:0)
与您的问题相关,您可以使用ARO工具来显示网络活动和缓存效率低下的工具。在这里查看http://developer.att.com/developer/legalAgreementPage.jsp?passedItemId=9700312