HTTPService 呼び出しの resultHandler で、繰り返しノードを arrayCollection に割り当てました。その繰り返しノード内には、繰り返される場合と繰り返されない場合がある他のノードがあります。たとえば、ここではoptionノードがoptions内で繰り返されます。
<response>
<options>
<option> <var1> part1 </var1> <var2> part2 </var2> </option>
<option> <var1> part1 </var1> <var2> part2 </var2> </option>
</options>
<options>....
</response>
そして、このように繰り返さないこともあります。
<response>
<options>
<option> <var1> part1 </var1> <var2> part2 </var2> </option>
</options>
<options>....
</response>
for ループで actionscript エラーが発生しています。両方のケースをどのように説明しますか?
オブジェクトを値オブジェクトに割り当てる for ループは次のとおりです。
protected function xml_resultHandler(event:ResultEvent):void
{
var data:ArrayCollection = xml.lastResult.response.option;
var valueobjects:valueObject;
for each (var characteristic:Object in data)
{
valueobject = new valueobject;
valueobject.var1 = characteristic.option[0].var1;
valueobject.var2 = characteristic.option.var2;
datamodel.addItem(valueobject);
}
}
このサンプル コードでは、複数のオプション ノードがない場合は var1 を割り当てると壊れ、複数のオブジェクト ノードがある場合は var2 が壊れます。私はそれをバラバラにして、それらを別々に繰り返すことができますが、もっと雄弁な解決策はありますか?