2013-02-11 140 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); 
} 

這應該工作