2011-06-22 58 views
1

嘗試XML數據讀入一個變量,把它列在XML在Flex中給我NaN?

XML方案

<akws> 
<akw> 
<name>test</name> 
<_5>534543</_5> 
</akw> 
</akws> 

現在我想數目< _5>成S:標籤

private function countpop():void{ 
popsum = parseInt(xmldata.akw[1]._5); 
} 

但是

<s:Label text={popsum} /> 

給我NaN ?!

+0

請提供一段代碼以'popsum'聲明。 – Constantiner

回答

3

XML是零索引並且_5是一個元素。

來指代INT內部_5,使用此代碼:

parseInt(xmldata.akw[0]._5[0]); 

這裏是我的測試,以確認:

<?xml version="1.0" encoding="utf-8"?> 
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
      xmlns:s="library://ns.adobe.com/flex/spark" 
      xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"> 
<fx:Declarations> 
    <fx:XML id="xmldata"> 
     <akws> 
      <akw> 
       <name>test</name> 
       <_5>534543</_5> 
      </akw> 
     </akws> 
    </fx:XML> 
</fx:Declarations> 
<fx:Script> 
    <![CDATA[ 
     [Bindable] 
     private var popsum:int = 0; 
    ]]> 
</fx:Script> 
<s:creationComplete> 
    <![CDATA[  
    popsum = parseInt(xmldata.akw[0]._5[0]);  
    ]]> 
</s:creationComplete> 
<s:Label text="{popsum}" /> 
</s:Application> 
+0

好吧,領先一步,但這只是給我「0」。 – ABLX

+0

我剛剛發佈的代碼工作正常,如果您將其剪切並粘貼到新項目中。我通過creationComplete觸發了這個...你的代碼有一個函數。你確定這個函數被調用嗎?在函數中放置一個調試斷點來查看。您可以添加展望來探索變量作爲其運行。 –

+0

+1;抓住零指數 – JeffryHouser