解决方案 »
- eclipse导入源代码工程文件里面没有Android 库
- ubuntu编译源码问题
- 如何根据已知的两个地点,在googlemap上获取两点之间的交通线路
- android屏幕去掉工具栏和标题栏后,其余控件位置被改变了~~~怎么办。。
- 手机RSS阅读器(全国高校竞赛,求高人指点)
- 怎么用WebView的postUrl方法, 打开英文的网页
- 菜鸟问题 service里面的class继承ContentObserver可以吗?
- 有关如何使用mutable的bitmap???
- 谁有TTS现成的实现工具?
- 源推荐:《Android应用程序开发与典型案例》图书下载
- 为什么输入框中不可以输入文字数字等信息
- Android 关机时间
public List<HashMap<String, Object>> getfind(String shangpin) {
SoapObject request = new SoapObject(serviceNameSpace, getFind);
request.addProperty("shangpin", shangpin);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.bodyOut = request;
envelope.dotNet = true;
HttpTransportSE ht = new HttpTransportSE(serviceURL);
try {
ht.call(serviceNameSpace + getFind, envelope);
if (envelope.getResponse() != null) {
SoapObject result = (SoapObject) envelope.getResponse();
return parse(result);
}
} catch (HttpResponseException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (XmlPullParserException e) {
e.printStackTrace();
}
return null;
}
和xml解析不太一样,你说的用pull解析器解析好像不太适合吧
我找了一个方法来定义解析,是参考别人的,
private List<HashMap<String, Object>> parse(SoapObject result) {
// TODO Auto-generated method stub
List<HashMap<String, Object>> lists = new ArrayList<HashMap<String, Object>>();
if (result != null) {
int len = result.getPropertyCount();
if (len > 0) {
HashMap<String, Object> map = new HashMap<String, Object>();
for (int i = 0; i < len; i++) {
int tag = i / 6;
switch (tag) {
case 0:
map.put("time", result.getProperty(i).toString());
break;
case 1:
map.put("shangpin", result.getProperty(i).toString());
break;
case 2:
map.put("cangku", result.getProperty(i).toString());
break;
case 3:
map.put("jinjia", result.getProperty(i).toString());
break;
case 4:
map.put("number", result.getProperty(i).toString());
break;
case 5:
map.put("totalprice", result.getProperty(i).toString());
break; default:
break;
}
}
lists.add(map);
}
} return lists;
}