2013-02-11 147 views
2

如何解析选项标签与名称标记和我的ArrayList作出一个这种类型的,如果有人解决了这个问题,以及如何我可以解析这种类型的肥皂解析吗?

[[anyType{}],[Sandy,Mark,Tayler,Waine],[mark Henry]] 


FetchFormResponse 
{ 
FetchFormResult=anyType 
{ 
Formlist=anyType 
{ 

Form=anyType 
{ 
Name=Form; Id=6; Options=anyType{}; 
}; 

Form=anyType 
{ 
Name=Form1; Id=7; 
Options=anyType 
{ 
Option=anyType{Name=Sandy; Id=154; Type=TextBox; Value=anyType{}; 
}; 
Option=anyType 
{ 
Name=Mark; Id=155; Type=TextBox; Value=anyType{}; 
}; 
Option=anyType 
{ 
Name=Tayler; Id=156; Type=TextArea; Value=anyType{}; 
}; 
Option=anyType 
{ 
Name=Waine; Id=157; Type=CheckBox; Value=Master,Graduate; 
}; 
}; 

Form=anyType 
{ 
Name=Form2; Id=9; 
Options=anyType 
{ 
Option=anyType 
{ 
Name=Mark Henry; Id=185; Type=Checkbox; Value=anyType{}; 
}; 
}; 
}; 

}; 
}; 
}; 
} 

将是非常酷的就知道了。谢谢。

+0

看起来像JSON,不能用肥皂。帮助你自己:http://code.google.com/p/google-gson/ – 2013-02-11 05:15:17

+0

我从soapObject解析出来,但没有得到选项标签data这种类型arraylist [[anyType {}],[Sandy,Mark,Tayler,Waine] ,[标记亨利]] – vabhavsingh 2013-02-11 05:21:03

+0

我发现只有类型[桑迪,马克,泰勒,威恩] – vabhavsingh 2013-02-11 05:21:28

回答

0

我真的不知道这是否会帮助你,因为这是在KSOAP和你看起来像JASON.As我使用基本的Java操作它不会是任何差异

得到的结果作为一个字符串,并做使用模式匹配一​​步指令提取你想要

String r = NameArray.columncount("userid", limitstart, loadNumber,loggername); 
String temp = r.replaceAll(";\\s", ",").replaceAll("string=", " ") 
.replace("anyType{", "").replace(",}", ""); 
String[] fulname = temp.split(",\\s+"); 

的步骤数据,请参见本网站How to process an array returned from WSDL

1

你必须创建SOAP对象,并从那里得到答复,如:

SoapObject response= (SoapObject) envelope.bodyIn; 
SoapObject result= (SoapObject) response.getProperty(0); 
SoapObject list= (SoapObject) result.getProperty(0); 
SoapObject form= (SoapObject) list.getProperty(0); 
SoapObject options= (SoapObject) form.getProperty("Options"); 
for(int i=0; i<options.getPropertyCount(); i++){ 
SoapObject option= (SoapObject) options.getProperty(i); 
String name = option.getPropertyAsString("Name"); 
array.add(name); 
} 

这应该工作