Xml 具有重复节点的arraycollection
在HTTPService调用的resultHandler中,我为arrayCollection分配了一个重复节点。在该重复节点内是有时重复,有时不重复的其他节点。例如,在这里,选项节点在选项内部重复 } 在此示例代码中,如果没有多个选项节点,则分配var1将中断,如果有多个对象节点,则分配var2将中断。我可以将其分解并分别迭代,但有更雄辩的解决方案吗?这样可以吗Xml 具有重复节点的arraycollection,xml,apache-flex,mxml,arraycollection,Xml,Apache Flex,Mxml,Arraycollection,在HTTPService调用的resultHandler中,我为arrayCollection分配了一个重复节点。在该重复节点内是有时重复,有时不重复的其他节点。例如,在这里,选项节点在选项内部重复 } 在此示例代码中,如果没有多个选项节点,则分配var1将中断,如果有多个对象节点,则分配var2将中断。我可以将其分解并分别迭代,但有更雄辩的解决方案吗?这样可以吗 protected function xml_resultHandler(event:ResultEvent):void {
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;
if(characteristic.option is ArrayCollection)
valueobject.var1 = characteristic.option[0].var1;
else
valueobject.var2 = characteristic.option.var2;
datamodel.addItem(valueobject);
}
}
我在结果处理程序中使用了与此非常类似的方法,我不确定数据是否包含1行或多行,它似乎做到了这一点,似乎在使用点运算符进行E4X解析时,它将根据多重性返回对象或arraycollection。是的,感谢您的输入。我可以测试节点是否为arraycollection的知识至关重要。
<response>
<options>
<option> <var1> part1 </var1> <var2> part2 </var2> </option>
</options>
<options>....
</response>
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);
}
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;
if(characteristic.option is ArrayCollection)
valueobject.var1 = characteristic.option[0].var1;
else
valueobject.var2 = characteristic.option.var2;
datamodel.addItem(valueobject);
}
}