【问题标题】:get values from XML file in my Titanium Project从我的 Titanium 项目中的 XML 文件中获取值
【发布时间】:2012-08-22 17:16:05
【问题描述】:

我有以下 .xml 我在我的 android 项目中使用过表视图。?如果我给 MainCategories 中的 3 个值应该出现在表格视图中。有人可以告诉我还有其他更好的选择来实现这一点吗?或者我们可以使用 plist 吗?谢谢。

<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>

【问题讨论】:

    标签: iphone xml xcode titanium appcelerator


    【解决方案1】:

    试试这个。

    var 结果 = []; var 文件名 = '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();
    

    【讨论】:

      【解决方案2】:

      我对钛不熟悉,但也许这对你有帮助:

      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 中显示您的数组。这是tutorialUITableView

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-29
        • 2012-05-26
        • 2017-08-15
        • 1970-01-01
        相关资源
        最近更新 更多