0

我正在调用返回以下字符串的 Web 服务:

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

您如何获得 和的x值?yz

4

2 回答 2

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);
}
于 2012-07-21T00:32:19.740 回答
0

关于网络服务,问题出在我正在使用的 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响应没有问题了。感谢大家的帮助。

于 2012-07-22T00:45:30.737 回答