2

如何解析带有名称标签的选项标签,并将我的数组列表设为这种类型

 [[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{};
 };
};
 }; 

 }; 
}; 
};
 }

知道是否有人解决了这个问题以及如何解决这个问题会很酷。谢谢。

4

2 回答 2

1

您必须创建肥皂对象并从那里获得响应,例如:

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);
}

这应该工作

于 2013-02-12T08:28:19.110 回答
0

我真的不知道这是否会对您有所帮助,因为这是在 KSoap 中,而您的看起来像 JASON。因为我使用的是基本的 java 操作,所以不会有任何区别

以字符串形式获取结果并使用模式匹配来提取您想要的数据

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

有关分步说明,请参阅此站点如何处理从 WSDL 返回的数组

于 2013-02-11T05:31:03.713 回答