SOAP Web サービスから情報を取得しようとしていますが、取得した結果を表示する方法が本当にわかりません。
という名前の最初のグローバル タグのみを表示できます。
これにより、長い xml result : responseが得られます。
別のタグ名で試してみると、結果が得られません。
これが私のコードです:
Ti.include('suds.js');
var win = Ti.UI.createWindow({
backgroundColor : '#ffffff'
});
var view = Ti.UI.createScrollView({
layout: 'Vertical',
contentHeight:'auto'
});
var label = Ti.UI.createLabel({
color : '#000000'
});
var url = "http://www.webservicex.net/globalweather.asmx";
var callParams = {
CountryName : 'belgium'
};
var suds = new SudsClient({
endpoint : url,
targetNamespace : 'http://www.webserviceX.NET'
});
suds.invoke('GetCitiesByCountry', callParams, function(xmlDoc) {
var response = xmlDoc.documentElement.getElementsByTagName('GetCitiesByCountryResult');
if (response && response.length > 0) {
label.text = response.item(0).text;
} else {
label.text = 'NOT OK';
}
});
view.add(label);
win.add(view);
win.open();
応答は次のようなものです。
<NewDataSet>
<Table>
<Country>Belgium</Country>
<City>Antwerpen</City>
</Table>
<Table>
<Country>Belgium</Country>
<City>Beauvechain</city>
</Table>
</NewDataSet>
response.length = 1
reponse.item(0).text しか表示できませんでした。すべてのものは必要ありませんが、例として、都市のみを表示するループが必要です。
getElementsByTagName('GetCitiesByCountryResult') を getElementsByTagName('Table') で変更しようとすると、「not ok」というメッセージが表示されます。
助けてください、必要なすべての情報を解析するにはどうすればよいですか?