所以我试图从一个XML文件中获取数据,但当我循环通过它并想要得到“countyname”时,我只得到了第一个,然后它就停止了。XMl错了吗?因为我尝试过使用其他XML,这与将数据输入到表视图的代码配合得很好。
顺致敬意,
菲利普
<?xml version="1.0" encoding="UTF-8"?>
<food_company>
<county>
<countyname>New York</countyname>
<city>
<cityname>New York City</cityname>
<restaurant>
<name>Dinos pizzeria</name>
<phone>01111111</phone>
<location>broadway1</location>
</restaurant>
<restaurant>
<name>Dinos pizzeria2</name>
<phone>01111111</phone>
<location>broadway2</location>
</restaurant>
<restaurant>
<name>Dinos pizzeria3</name>
<phone>01111111</phone>
<location>broadway3</location>
</restaurant>
</city>
<countyname>Baldwin County</countyname>
<city>
<cityname>Bay Minette</cityname>
<restaurant>
<name>Dinos pizzeria</name>
<phone>01111111</phone>
<location>broadway1</location>
</restaurant>
<restaurant>
<name>Dinos pizzeria2</name>
<phone>01111111</phone>
<location>broadway2</location>
</restaurant>
<restaurant>
<name>Dinos pizzeria3</name>
<phone>01111111</phone>
<location>broadway3</location>
</restaurant>
</city>
</lan>
</food_company>
应用程序。js代码:
Titanium.UI.setBackgroundColor('#E1E6EE');
// create base UI tab and root window
var win1 = Titanium.UI.createWindow({
statusBarStyle: Ti.UI.iPhone.StatusBar.LIGHT_CONTENT,
tintColor: '#FFF',
backgroundColor:'#E1E6EE',
url: 'lan.js',
tabBarHidden: true,
navBarHidden: true
});
win1.open();
县js代码:
Ti.include('app_functions.js');
var win = Titanium.UI.currentWindow;
var itemsTable = Ti.UI.createTableView({
top : '11%',
left : 0,
leftImage : 'taxi.png',
backgroundColor : '#DCEEDC',
bottom : '0%',
filterAttribute : 'searchFilter'
});
win.add(itemsTable);
var xmlFeed = 'http://eventverket.nu/test/test5.xml';
var xhr = Ti.Network.createHTTPClient();
xhr.onload = function() {
var xml = this.responseXML;
var data = [];
var data = [];
var items = xml.documentElement.getElementsByTagName("county");
for (var i=0; i<items.length; i++) {
var row = Ti.UI.createTableViewRow({
title: items.item(i).getTextContent()
});
data.push(row);
}
itemsTable.data = data;
itemsTable.addEventListener('click', function(e) {
var newWindow = Titanium.UI.createWindow({
backgroundColor : '#DCEEDC',
statusBarStyle : Ti.UI.iPhone.StatusBar.LIGHT_CONTENT,
font : fonts[16]['normal'],
url : "stad.js",
tabBarHidden : true,
navBarHidden : true,
tintColor : '#FFF'
});
newWindow.open();
});
};
xhr.onerror = function() {
activityIndicator.hide();
alert(this.status + ': ' + this.statusText);
return false;
};
xhr.open('GET', xmlFeed);
xhr.send();
城市js代码:
Ti.include('app_functions.js');
var newWin = Titanium.UI.currentWindow;
var itemsTable = Ti.UI.createTableView({
top : '11%',
left : 0,
leftImage : 'taxi.png',
backgroundColor : '#DCEEDC',
bottom : '0%',
filterAttribute : 'searchFilter'
});
win.add(itemsTable);
var xmlFeed = 'http://eventverket.nu/test/test5.xml';
var xhr = Ti.Network.createHTTPClient();
xhr.onload = function() {
var xml = this.responseXML;
var data = [];
var items = xml.documentElement.getElementsByTagName("city");
for (var i=0; i<items.length; i++) {
var row = Ti.UI.createTableViewRow({
title: items.item(i).getTextContent()
});
data.push(row);
}
itemsTable.data = data;
itemsTable.addEventListener('click', function(e) {
var newWindow = Titanium.UI.createWindow({
backgroundColor : '#DCEEDC',
statusBarStyle : Ti.UI.iPhone.StatusBar.LIGHT_CONTENT,
font : fonts[16]['normal'],
url : "stad.js",
tabBarHidden : true,
navBarHidden : true,
tintColor : '#FFF'
});
});
};
xhr.onerror = function() {
activityIndicator.hide();
alert(this.status + ': ' + this.statusText);
return false;
};
xhr.open('GET', xmlFeed);
xhr.send();