android中webservce获取soapObject数据的解析问题

mshbwy 2012-02-21 02:28:18
最近在尝试做个开发,用到网络通讯这块。有几个问题:
1android客户端已经得到weibservice发挥的soapObject对象 但是怎么解析成我需要的数据类型?
通过网页得到的xml文件
<?xml version="1.0" encoding="utf-8" ?>
- <user_info>
<USER_NO>adminbb</USER_NO>
<USER_NAME>admin</USER_NAME>
<PASSWORD>e10adc3949ba59abbe56e057f20f883e</PASSWORD>
<ROLE_ID>732</ROLE_ID>
<TELEPHONE />
<EMAIL />
<REMARK />
<CREATER>admin</CREATER>
<CREATED_TIME>2005/5/8 0:00:00</CREATED_TIME>
<MODIFIER>adminbb</MODIFIER>
<LAST_MODIFIED>2012/2/17 10:01:50</LAST_MODIFIED>
<INI_LON>108.9418</INI_LON>
<INI_LAT>34.2640</INI_LAT>
<LAST_LOGIN_TIME>2012/1/9 14:12:04</LAST_LOGIN_TIME>
<STATUS>1</STATUS>
<DEAD_LINE_TIME>2020/12/31 23:59:59</DEAD_LINE_TIME>
<LAST_LOGIN_IP>36.40.67.173</LAST_LOGIN_IP>
<IS_MANAGER>1</IS_MANAGER>
<GROUP_ID>707</GROUP_ID>
</user_info>
android上面调用该webservice得到的soapObject tostring()后 是下面这个样子
GetNameInfoResponse{GetNameInfoResult=anyType{user_info=anyType{USER_NO=adminbb; USER_NAME=admin; PASSWORD=e10adc3949ba59abbe56e057f20f883e; ROLE_ID=732; TELEPHONE=anyType{}; EMAIL=anyType{}; REMARK=anyType{}; CREATER=admin; CREATED_TIME=2005-5-8 0:00:00; MODIFIER=adminbb; LAST_MODIFIED=2012-2-17 10:01:50; INI_LON=108.9418; INI_LAT=34.2640; LAST_LOGIN_TIME=2012-1-9 14:12:04; STATUS=1; DEAD_LINE_TIME=2020-12-31 23:59:59; LAST_LOGIN_IP=36.40.67.173; IS_MANAGER=1; GROUP_ID=707; }; }; }
能不能向c#一样 直接得到 类似datatable型的数据。
怎么用Ksoap类能得到 标准的xml文件 然后调用android自己的解析库 解析?难道只能用post get方法调用webservice得到xml?
...全文
15701 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
CHINATELEVISION 2014-10-14
  • 打赏
  • 举报
回复
优化格局 2014-05-06
  • 打赏
  • 举报
回复
楼主,发给我一份好吗?603652526@qq.com
waitSunflower 2014-04-22
  • 打赏
  • 举报
回复
求源码学习。waitSunflower@163.com
正俊 2014-04-15
  • 打赏
  • 举报
回复
大侠 能不能发个给我邮箱? 1322566179@qq.com
正俊 2014-04-15
  • 打赏
  • 举报
回复
楼主你是怎么解决这个问题的 我也是这样
chenminghong 2013-10-23
  • 打赏
  • 举报
回复
要返回XML要用什么格式,,我是用BYTE[]返回,在客户端读取,很多乱码的样子,, QQ:395156809,帮忙告诉一下,谢谢
有只坏龙猫 2013-09-16
  • 打赏
  • 举报
回复
楼主,同样问题,就是解析不出来!能否给部分代码看看?1027296673@qq.com或者http://bbs.csdn.net/topics/390591966指导我一下,
user_zhouli 2013-08-06
  • 打赏
  • 举报
回复
楼主可否发我一份,谢谢!
zhou198879 2013-05-29
  • 打赏
  • 举报
回复
楼主你的解析的代码能不能给我看下?378377577@qq.com
mshbwy 2012-05-16
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]

一层一层解析的话,必须知道它是什么类型的呀,因为它不一定是一个字符串,可能又是一个对象列表呢,这个怎么判断呢
[/Quote]

这个 我还真没注意 我解析后 全部tostring()了 没出什么问题
rsrmjin 2012-05-15
  • 打赏
  • 举报
回复
还有个问题,取数据时,如果Webservice在数据库中查询有空值时,SoapObject返回的结果集的属性里面是没有这个字段的。在解析时会报错,怎么能够判断SoapObject的属性是否存在呢。
dumengjia19881116 2012-03-14
  • 打赏
  • 举报
回复
一层一层解析的话,必须知道它是什么类型的呀,因为它不一定是一个字符串,可能又是一个对象列表呢,这个怎么判断呢
mshbwy 2012-02-22
  • 打赏
  • 举报
回复
谢谢大家 菜鸟受教了 一层一层 就提取出来了 结贴 散分
cjzmll 2012-02-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 weicheng_android 的回复:]
得到SoapObject对象后循环取里面的每个字段
for(int i=0;i <soapObject.getPropertyCount();i++){
SoapObject soapChilds =(SoapObject)soapObject.getProperty(i);
System.out.println(soapChilds.getPro……
[/Quote]

既然用SoapObject,那就用它的标准解法,一层层取,直到取对为止!
mshbwy 2012-02-21
  • 打赏
  • 举报
回复
我试试 各位的方法 谢谢了
我这正用 replace 和spile自己拆呢
fire_fire_fire 2012-02-21
  • 打赏
  • 举报
回复
如果你是自己开发两端的话,建议用json,速度快,体积小,解析灰常容易!
服务端:result = JsonConvert.SerializeObject(Objcet);//开始序列化
客户端:

GsonBuilder gsonb = new GsonBuilder();
// Json中的日期表达方式没有办法直接转换成我们的Date类型, 因此需要单独注册一个Date的反序列化类.
DateDeserializer ds = new DateDeserializer();
// 给GsonBuilder方法单独指定Date类型的反序列化方法
gsonb.registerTypeAdapter(Date.class, ds);
Type t = new TypeToken<LinkedList<你的数据类型,和web端保持一致的>>() {}.getType();
Gson gson = gsonb.create();
// 将json数据解析成对象
if (!result.equals("-1")) {
//result是你获得的字符串,t是要转换的类型
resultList = gson.fromJson(result, t);
}
lzpxiaoping 2012-02-21
  • 打赏
  • 举报
回复
是的 顶楼上的

你可以一边调试一边看取得的数据是不是对应起来了
wo爱随心动 2012-02-21
  • 打赏
  • 举报
回复
得到SoapObject对象后循环取里面的每个字段
for(int i=0;i<soapObject.getPropertyCount();i++){
SoapObject soapChilds =(SoapObject)soapObject.getProperty(i);
System.out.println(soapChilds.getProperty("USER_NO").toString());
System.out.println(soapChilds.getProperty("USER_NAME").toString());
.
.
.
}
mshbwy 2012-02-21
  • 打赏
  • 举报
回复
顶一下 datatable 很难实现 查了下才知道

80,355

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧