У меня есть XML-файл, который я читаю, где ветвь дерева выглядит следующим образом:
<data id="Shallow" label="Show Shallow Imagery (1 m)">
<layer name="Bathymetry" url="OtherImagery" type="Dynamic" legendurl="">
<visiblelayers>1</visiblelayers>
<visiblelayers>4</visiblelayers>
</layer>
<layer name="Backscatter" url="OtherImagery" type="Dynamic" legendurl="">
<visiblelayers>2</visiblelayers>
</layer>
<layer name="PCA" url="BUIS_Imagery" type="Dynamic" legendurl="">
<visiblelayers>3</visiblelayers>
<visiblelayers>4</visiblelayers>
</layer>
</data>
Пользователь выбирает слой с помощью радиокнопки, и в событии щелчка я пропускаю слой.(@ name == e.target.label) .visiblelayers в функцию, которая преобразует XML в ArrayCollection.
private function convertXMLtoArrayCollection(file:XMLList):ArrayCollection{
var xml:XMLDocument = new XMLDocument(file);
var decoder:SimpleXMLDecoder = new SimpleXMLDecoder;
var data:Object = decoder.decodeXML((xml));
var array:Array = ArrayUtil.toArray(data);
return new ArrayCollection(array);
}
Для слоя «Backscatter» только с одним узлом visiblelayers я получаю ожидаемый возврат ArrayCollection,
Но два других слоя возвращают ArrayCollection с добавленным узлом visibleLayers.
Почему он не возвращает ArrayCollection подобным образом?