【问题标题】:XML ArrayCollection applicationStorageDirectoryXML ArrayCollection 应用程序存储目录
【发布时间】:2012-09-14 03:50:57
【问题描述】:

我有一个位于 applicationStorageDirectory 中的 XML 文件,我需要将内容加载到 ArrayCollection 中。

XML 看起来像(见下文),我可以对其进行读写,但我需要将数据粘贴到 ArrayCollection 中,以便将其加载到数据网格中。

<?xml version="1.0" encoding="utf-8"?>
<item>
 <sort>2012/10/31PM0000</sort>
 <date>Wed Oct 31 2012</date>
 <event>Halloween</event>
 <time>12:00 PM</time>
</item>
<item>
  <sort>2012/09/13AM0000</sort>
  <date>Thu Sep 13 2012</date>
  <event>Enter Details</event>
  <time>12:00 AM</time>
</item>

我发现我可以在 HTTP 服务中使用 url="app-storage:/reminder.xml" 并且它可以与 Air 一起使用,不知道 Android 应用程序,将不得不拭目以待。

<s:HTTPService id="reminderXML" url="app-storage:/reminder.xml" result="reminderDataHandler(event)" fault="faultHandler(event);"/>

【问题讨论】:

    标签: xml apache-flex actionscript adobe arraycollection


    【解决方案1】:

    您可以尝试以下实用程序,它将您的 XML/XMLList 转换为 ICollectionView。您可以使用它来绑定到数据网格。

        public static function toCollection( value:Object ):ICollectionView
        {
            var collection:ICollectionView;
    
            collection = null;
            if (value is Array)
            {
                collection = new ArrayCollection(value as Array);
            }
            else if (value is ICollectionView)
            {
                collection = ICollectionView(value);
            }
            else if (value is IList)
            {
                collection = new ListCollectionView(IList(value));
            }
            else if (value is XMLList)
            {
                collection = new XMLListCollection(value as XMLList);
            }
            else if (value is XML)
            {
                var xl:XMLList = new XMLList();
                xl += value;
                collection = new XMLListCollection(xl);
            }
            else
            {
                // convert it to an array containing this one item
                var tmp:Array = [];
                if (value != null)
                    tmp.push(value);
                collection = new ArrayCollection(tmp);
            }
    
            return collection;
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-03
      • 2016-02-24
      • 1970-01-01
      • 2013-08-26
      • 2013-02-10
      相关资源
      最近更新 更多