2014-10-14 2 views
1

내 XML 데이터로 오브젝트를 채우고 싶습니다. 쉽게 들리지만, 개체는 한 번만 두 번 중첩되지 않습니다. XML 파일은 다음과 같습니다 : 등as3 XML 데이터로 오브젝트를 올바르게 채우는 방법

<antwoordenlijst> 
     <antwoorden id="1"> 
      <antwoord keuze="a" value="0" volgnr="1">Ja, alles beter dan dat honden weer in Nederland</antwoord> 
      <antwoord keuze="b" value="0" volgnr="1">Gaat wel</antwoord> 
      <antwoord keuze="c" value="0" volgnr="1">Nee, ik heb toch liever het weer in Nederland</antwoord> 
     </antwoorden> 
     <antwoorden id="2"> 
      <antwoord keuze="a" value="10" volgnr="2">Volgens mij maakt de kleur voor jouw niet veel uit, alles staat je goed</antwoord> 
      <antwoord keuze="b" value="0" volgnr="2">Ik geef je vrouw gelijk</antwoord> 
      <antwoord keuze="c" value="-30" volgnr="2">Het staat je allebei niet.</antwoord> 
     </antwoorden> 

... 난이 있었다 시도 무엇

:

private function antwoordenGeladen(e:Event):void 
    { 
     var antwoordenOverzichtIndex = 0; 
     deXmlData = new XML(deLader.data); 
     for (var i:Number=0; i<26; i++) 
     { 
      var xmlAntwoorden:XMLList = deXmlData.antwoordenlijst; 
      var antw:Object = new Object(); 
      for (var s:Number=0; s<3; s++) 
      { 
       antw["Keuze"] = xmlAntwoorden.child(i).child(s)[email protected]; 
       antw["Value"] = xmlAntwoorden.child(i).child(s)[email protected]; 
       antw["Volgnr"] = xmlAntwoorden.child(i).child(s)[email protected]; 
       antw["Vraag"] = xmlAntwoorden.child(i).child(s); 
       antw["Id"] = xmlAntwoorden.child(i)[email protected]; 
       antwoordenLijst[antwoordenOverzichtIndex] = antw; 
       antwoordenOverzichtIndex++; 
      } 
      antwoordenOverzicht[i] = antwoordenLijst; 

     } 

    } 

을하지만 어떤 이유가 antwoordenOverzicht에서 값을 덮어 쓰게됩니다 [I]

Tho 만약 내가 디버거를 검사 할 때마다 변수가 루프에서 벗어날 때마다 올라갈 것이므로 매우 혼란 스럽습니다.

누구나이 작업을 수행하는 더 나은 방법을 찾거나 답을 알고 있으면 감사하게 생각합니다.

답변

0

나는 당신이 이런 식으로 더 간결하게 (검증되지 않은)을 조금 뭘 하려는지 할 수 있다고 생각 :

private function antwoordenGeladen(e:Event):void 
{ 
    deXmlData = new XML(deLader.data); 

    for (var i:Number=0; i<26; i++) 
    { 
     var xmlAntwoorden:XMLList = deXmlData.antwoordenlijst; 
     var antwoordenLijst = []; 

     for (var s:Number=0; s<3; s++) 
     { 
      antwoordenLijst.push({ 
       keuze: xmlAntwoorden.child(i).child(s)[email protected], 
       value: xmlAntwoorden.child(i).child(s)[email protected], 
       volgnr: xmlAntwoorden.child(i).child(s)[email protected], 
       vraag: xmlAntwoorden.child(i).child(s), 
       id: xmlAntwoorden.child(i)[email protected] 
      }); 
     } 
     antwoordenOverzicht.push(antwoordenLijst); 
    } 
} 
+0

감사 메이트, 이것은 내가 그것을 원하는 방식으로 작동합니다! –

관련 문제