次の文字列を返す 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);
}
Webサービスに関しては、問題は私が使用しているKSOAP2androidライブラリにあります。結果を得るために使用したコードは次のとおりです。
HttpTransportSE ht = new HttpTransportSE(URL);
ht.debug = true;
ht.call(SOAP_ACTION, envelope);
String response = envelope.getResponse().toString();
応答をxmlとして取得するには、次の行を使用する必要がありました。
String responseXML = ht.responseDump;
したがって、xml応答の解析に問題はありません。よろしくお願いします。