我正在调用一个返回以下字符串的Web服务:
anyType{x=4;y=5;z=acq}
如何获得x
,y
和z
的值?
答案 0 :(得分: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 :(得分:0)
关于Web服务,问题在于我正在使用的KSOAP2安卓库。 我用来得到结果的代码是:
HttpTransportSE ht = new HttpTransportSE(URL);
ht.debug = true;
ht.call(SOAP_ACTION, envelope);
String response = envelope.getResponse().toString();
我必须使用以下行来获取响应为xml:
String responseXML = ht.responseDump;
所以现在解析xml响应没有问题。 谢谢大家的帮助。