2012-08-28 24 views
3

我有我在我的android project.now中使用的以下.xml,我試圖在iPhone中使用titanium創建相同的。可以告訴我如何獲取此值從xml文件中將它們顯示在表格視圖中。如果我給Mainclass,它的3個值應該出現在表格視圖中。也有人告訴我有沒有其他更好的選擇來實現這個目標?或者我們可以使用plist ??謝謝。從我的鈦項目中獲取XML文件的值

<string-array name="MainCategories"> 
    <item>Acceleration</item> 
    <item>Angle</item> 
    <item>Area</item> 
</string-array> 


<string-array name="Acceleration_array"> 
    <item>meter/sq sec</item> 
    <item>km/sq sec</item> 
    <item>mile/sq sec</item> 
    <item>yard/sq sec</item> 
</string-array> 


<string-array name="Angle_array"> 
    <item>degree</item> 
    <item>radian</item> 
    <item>grad</item> 
    <item>gon</item> 
</string-array> 

回答

3

試試這個。

var result = []; var fileName ='arrays1.xml'; //保存xml文件 var tableView = Ti.UI.createTableView({data:result,width:'100%',height:'100%'});

function readXML(fileName) 
{ 

var file = Ti.Filesystem.getFile(Ti.Filesystem.resourcesDirectory, fileName); 
var xmltext = file.read().text; 
var doc = Ti.XML.parseString(xmltext); 

var parentNodeLength = doc.documentElement.getElementsByTagName('string-array').length; 
for (var i = 0; i < parentNodeLength; i++) { 
var attrValue = doc.documentElement.getElementsByTagName('string-array').item(i).attributes.getNamedItem('name').nodeValue; 
if (attrValue === 'Angle_array') { 

    var parentNode = doc.documentElement.getElementsByTagName('string-array').item(i); 
    var subNodeLength = parentNode.getElementsByTagName('item').length; 

    for (var j = 0; j < subNodeLength; j++) { 

     var title = parentNode.getElementsByTagName('item').item(j).text; 
     var row = Ti.UI.createTableViewRow({ 
      height : 110 
     }); 
     var label = Ti.UI.createLabel({ 
      height : Ti.UI.SIZE, 
      width : Ti.UI.SIZE, 
      text : title 
     }); 

     row.add(label); 
     result.push(row); 
    } 
} 

} 
} 
readXML(fileName); 
tableView.setData(result); 
win1.add(tableView); 
win1.open(); 
1

我不熟悉鈦但也許這應該幫助你:

var result = this.responseText; 
var xml = Ti.XML.parseString(result); 

var params = xml.documentElement.getElementsByTagName("member"); 
var name = xml.documentElement.getElementsByTagName("name"); 
var value = xml.documentElement.getElementsByTagName("string"); 
var data = []; 

for (var i=0;i<params.item.length;i++) { 
    Ti.API.log('Param '+i+': Name: '+n.item(i).text); 
    Ti.API.log('Param '+i+': Value: '+v.item(i).text); 

    // Add to array 
    data.push({"name":n.item(i).text,"value":v.item(i).text}); 
} 

從這個link

複製在UITableView中顯示出來,保存你的價值觀在NSArray中,並顯示您的在tableview中的數組。 UITableViewtutorial