android中怎么分析xml-rpc获取到的数据?

青蛙 2010-06-28 05:44:20
数据正常取到了,得到的是一个Object对象,直接.toString()输出的话是这样的格式:
{userid=80,data=[Ljava.lang.Object;@445346,prev=0,next=9756]}
这样的,现在我要怎么对这种数据进行分析?或者说这种数据如果要分析的话,要用什么类型来转换?

查了很多资料,都只是发起请求,但都没有涉及获取及分析的方法,不知道有没有同学知道这个?
...全文
310 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
Thierryxing 2011-09-21
  • 打赏
  • 举报
回复
外层是个hashmap,使用hashmap.get("userid")和hashmap.get("data")获取相关数据

hashmap.get("data")获取的是个object数组
青蛙 2010-06-30
  • 打赏
  • 举报
回复
谢谢 yyy025025025 & zxh_wolfe
很有用。
zxh_wolfe 2010-06-30
  • 打赏
  • 举报
回复
这是Wordpress官方开发团队提供的一个项目。从代码中可以学习到XMLRPC调用(当然还有更多的优秀内容)。
地址:http://android.svn.wordpress.org/trunk/
yyy025025025 2010-06-30
  • 打赏
  • 举报
回复
I think you can get the full xml string, so you can parse it by DOM.

Maybe this will help you:
http://blog.sina.com.cn/s/blog_5be1061c0100f0sz.html
青蛙 2010-06-30
  • 打赏
  • 举报
回复
寻找分析XML数据的方法。
青蛙 2010-06-29
  • 打赏
  • 举报
回复
刚才又重新尝试了一下使用HttpPost发送数据,NameValuePair改用StringEntity替代,可以正常发送数据,也取到数据了。
但得到的数据发现竟然是xml格式的,这样的话,就没有办法使用JSON来分析了吧?
一使用JSONObject,就报<?xml of type java.lang.String Cannot be converted to JSONObject,看来只能回到最选前的方法中去了。
yyy025025025 2010-06-29
  • 打赏
  • 举报
回复
NameValuePair should defined by server.

I think you should get this from server API document.
青蛙 2010-06-29
  • 打赏
  • 举报
回复
该怎么直接POST xml数据给服务器端呢?
NameValuePair必须要有两个参数,但传XML的时候根本就没有参数Name,传递不成功。
青蛙 2010-06-29
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 yyy025025025 的回复:]

Sample code:
Java code
try {
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost(DEFAULT_CONNECT_URI);
HttpResponse response = null……
[/Quote]
这个用过了,因为数据没有办法直接通过URL获取(URI被做过滤了,只能使用xml-rpc方式访问才能正常获取数据),所以得到的是一个Object,而Object的内容直接toString()出来就是我列出来的那些,所以在想办法把这个Object转成正确的对象。
现在在尝试使用HashMap输出。
liqi4960710 2010-06-29
  • 打赏
  • 举报
回复
ding..........
karlzheng 2010-06-28
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 yyy025025025 的回复:]

Sample code:
Java code
try {
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost(DEFAULT_CONNECT_URI);
HttpResponse response = null……
[/Quote]

学习 楼主照这个试一下:)
yyy025025025 2010-06-28
  • 打赏
  • 举报
回复
Sample code:
        try {
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost(DEFAULT_CONNECT_URI);
HttpResponse response = null;
HttpEntity entity = null;

UrlEncodedFormEntity entry = new UrlEncodedFormEntity(nameValuePairs);
post.setEntity(entry);

response = client.execute(post);

Log.i("Young", "Statue is " + response.getStatusLine().getStatusCode());

entity = response.getEntity();

result = EntityUtils.toString(entity);
} catch (Exception e) {
e.printStackTrace();
return null;
}


        try {
JSONObject object = new JSONObject(result);
JSONArray valueList = object.getJSONArray("categories");
for(int i = 0; i < valueList.length(); i++){
String id = valueList.getJSONObject(i).getString("id");
String name = valueList.getJSONObject(i).getString("name");
infos.add(info);
}
} catch (JSONException e) {
e.printStackTrace();
}
青蛙 2010-06-28
  • 打赏
  • 举报
回复
现在问题是它返回回来的数据是一个Object,如果我要对这个Object进行解析,最起码得转成String吧?但我一转成String就成了主题帖中的那个内容,我该怎么进行反序列化操作?
archko 2010-06-28
  • 打赏
  • 举报
回复
这不是胡说么?
RPC能够返回对象让你处理?如果一定要,估计得序列化,反序列化了,然后你再处理 .通常不都是返回一个字符串形式的.然后你解析这个字符串(通常是XML)
青蛙 2010-06-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yyy025025025 的回复:]

This object like json, you can try.
[/Quote]
是的,我明白这个,但是我不知道要怎么把这个Object转成我需要的方法。
刚才跟踪了一下数据,得到的是一个叫hashmap的东西,但是我尝试转成Hashmap的时候出错了,不知道要怎么转。
能告知一下吗?这个Object里的数据不是纯粹的String或者int类型的,还包括Array,Binary之类的数据,所以指定HashMap类型的时候只能使用HashMap<String, Object>的,但没成功。
vclongking 2010-06-28
  • 打赏
  • 举报
回复
关注 学习
yyy025025025 2010-06-28
  • 打赏
  • 举报
回复
This object like json, you can try.

80,351

社区成员

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

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