我讀在ActionScript HTTPService在一個XML文件,並把它變成這樣一個ArrayCollection(其中讀數是中繼節點和數據是根節點):如何從Actionscript Arraycollection讀取XML屬性?
graphData = new ArrayCollection([event.result.data.readings]);
不過,我想改變即時通訊讀取的XML文件的格式,將值作爲屬性而不是標籤之間的值(原因是我這樣做的原因是xml文件巨大,並且此方法只需要一行每個讀數具有5個屬性,而不是5打開並在不同的行上關閉標籤)。
它的載入進入數組集合,但我如何訪問屬性? 之前,我將訪問時間值以下說:
graphData.getItemAt(0).time
所以我想它可能是那麼容易,因爲:
graphData.getItemAt(0)[email protected]
但這並不工作,能不能做到?
其實只是見過的最好的解決方案可能是加載數據作爲XML列表,而不是,這是唯一的辦法? – Taro 2011-02-23 01:49:15
當你在下面的線上放置一個調試斷點時,你在graphData中看到了什麼:graphData = new ArrayCollection([event.result.data.readings]);您應該能夠在變量窗口中展開graphData以查看ArrayCollection中每個元素的對象類型?你可以從那裏自己看到如何解決這個問題,E4X在Flex中工作的方式有點神祕,但如果它「看到」具有給定名稱的多個節點,它會將它們返回到一個數組集合中,否則它將是一個Object,而不會更多信息很難說這裏出了什麼問題。 – shaunhusain 2011-02-23 01:52:30
爲什麼不使用XMLListCollection?或者將XML轉換爲值對象並將其放入ArrayCollection中。或者甚至更好,重新處理您的服務,以便通過AMF返回Value Objects,並且根本不處理w/XML。 – JeffryHouser 2011-02-23 03:45:54