我正在调用返回以下字符串的 Web 服务:
anyType{x=4;y=5;z=acq}
您如何获得 和的x
值?y
z
这不是最佳解决方案,但适用于调试信息。
但是,就像其他人建议的那样,最好将结果作为 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);
}
关于网络服务,问题出在我正在使用的 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响应没有问题了。感谢大家的帮助。