2012-07-21 137 views
0

我打电话,返回下列字符串Web服务:格式化字符串解析

anyType{x=4;y=5;z=acq} 

你如何获得的xyz值是多少?

+1

你试图从什么网络服务拉? – ardent 2012-07-21 00:10:03

+0

Web服务应该返回XML,但我得到了这个。所以我只是问,当我试图找到一个解决方案(SOAP WS) – Antonis 2012-07-21 00:12:14

+0

它总是在'anyType {x =%s; y =%s; z =%s}'的格式? – Haozhun 2012-07-21 00:13:40

回答

0

关于web服务,问题是与我使用的KSOAP2 android库。 我曾经得到的结果代码是:

HttpTransportSE ht = new HttpTransportSE(URL); 
ht.debug = true; 
ht.call(SOAP_ACTION, envelope); 
String response = envelope.getResponse().toString(); 

我不得不使用下面的行获得响应为XML:

String responseXML = ht.responseDump; 

所以,现在有一个与解析XML响应没有问题。 谢谢大家的帮助。

4

这不是最佳解决方案,但适用于调试信息。

但是,正如其他人建议最好将结果作为XML(或JSON)一样,因为您可以使用健壮的库来分析数据。

final Matcher matcher = 
     Pattern.compile("\\w+\\{x=(\\w+);y=(\\w+);z=(\\w+)\\}") 
       .matcher("anyType{x=4;y=5;z=acq}"); 

while (matcher.find()) { 
    final String x = matcher.group(1); 
    final String y = matcher.group(2); 
    final String z = matcher.group(3); 
} 
+1

非常感谢你的帮助! – Antonis 2012-07-21 00:33:35

+1

@Antonis - 如果有帮助,不要忘记注册并/或接受这个答案... – jahroy 2012-07-21 00:44:40

相关问题