Flex: преобразование XML в ArrayCollection с несколькими узлами - PullRequest
0 голосов
/ 28 июля 2011

У меня есть 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,enter image description here

Но два других слоя возвращают ArrayCollection с добавленным узлом visibleLayers. enter image description here

Почему он не возвращает ArrayCollection подобным образом?enter image description here

Ответы [ 2 ]

3 голосов
/ 29 июля 2011

В итоге я использовал следующую функцию, чтобы вернуть ArrayCollection, подходящую для моего кода:

private function convertXMLtoArrayCollection1(file:XMLList):ArrayCollection
{
    var arrcol:ArrayCollection = new ArrayCollection;

    for each (var value:* in file)
    {
        arrcol.addItem(value)
    }

    return arrcol;
}
0 голосов
/ 01 января 2014

Для преобразования XML в ArrayCollection или Array в примере ActionScript, пожалуйста, перейдите по следующей ссылке, поясните пример.

Преобразование XML в ArrayCollection или Array в примере ActionScript
http://javafws.blogspot.in/2013/12/xml-to-arraycollection-or-array-in.html

...