2011-08-10 96 views
0

數據我有一個簡單的XML像這樣:柔性 - 正從XML列表

<root Name="Bob" isImployed="true"> 
<customer Name="Bob" id="12345">was addressed in the shopping mall</customer> 
<Job-title>Insurance</Job-title> 
<experience>15</experience> 
<Question1 question="how much do you make?">35000</Question1> 
<Question2 question="do you get a yearly bonus?">5000</Question2> 
<Question3 question="would you be interested in our weekly plan?">yes</Question3> 
</root> 

我已經創建了一個包含數據的XMLList:

var mylist:XMLList; 

我想遍歷所有問題(問題1,問題2和問題3以上)。其中一些包含數字(薪水,bouns),有些則不包含數字。我正在尋找一種方法來查看整個列表,詢問答案是否是數字,如果是 - 獲取數字。 (並用它做一些計算)。我怎樣才能做到這一點?

謝謝!

+2

這是很要命的XML - 你真的應該有一個標記,包含所有的單個問題項目而不是它們,就像那樣浮動。如果你對模式有任何控制,我會改變它。 –

+0

我對此沒有任何控制:( – aaaa

+0

調用製作xml的人並告訴他們他們被解僱了 –

回答

0

這應該給你你需要的所有部分。

<mx:XML id="someXML" xmlns=""> 
     <root Name="Bob" isImployed="true"> 
      <customer Name="Bob" id="12345">was addressed in the shopping mall</customer> 
      <Job-title>Insurance</Job-title> 
      <experience>15</experience> 
      <Question1 question="how much do you make?">35000</Question1> 
      <Question2 question="do you get a yearly bonus?">5000</Question2> 
      <Question3 question="would you be interested in our weekly plan?">yes</Question3> 
     </root> 
    </mx:XML> 
    <mx:List dataProvider="{[email protected]}"> 
     <mx:itemRenderer> 
      <mx:Component> 
       <mx:VBox> 
        <mx:Label text="Question:  {data}" fontWeight="bold" /> 
        <mx:Label text="{XML(data).parent()}" /> 
        <mx:Label text="Is Number: {isNaN(XML(data).parent())?'No':'Yes'}" /> 
       </mx:VBox> 
      </mx:Component> 
     </mx:itemRenderer> 
    </mx:List> 
1

這個循環應該去通是XML和讀取的所有問題的價值,並得到那些數字的那些:

for each (var question:XML in mylist..*) { 
      if (question.hasOwnProperty("@question") && !isNaN(question.valueOf())) { 
       var value:int = question.valueOf(); 
       // do calclulations on value 
      } 
     }