Как разобрать этот кусок XML в Actionscript 3 - PullRequest
1 голос
/ 24 июля 2010

Итак, у меня есть этот кусок XML:

<?xml version="1.0" encoding="UTF-8"?>
<groups>
    <group>
        <image name="afp.jpg"/>
        <image name="agfa.jpg"/>
        <image name="americomp.jpg"/>
    </group>
    <group>
        <image name="canon.jpg"/>
        <image name="carestream.jpg"/>
        <image name="cmt.jpg" />
    </group>
    <group>
        <image name="ge.jpg"/>
        <image name="gtr.jpg"/>
        <image name="medlink.jpg" />
    </group>
    <group>
        <image name="pacsgear.jpg"/>
        <image name="philips.jpg"/>
        <image name="poskom.jpg" />
    </group>
    <group>
        <image name="radpro.jpg"/>
        <image name="sedecal.jpg"/>
        <image name="siemens.jpg" />
    </group>
    <group>
        <image name="sony.jpg"/>
        <image name="sotuna.jpg"/>
        <image name="sri.jpg" />
    </group>
    <group>
        <image name="tims.jpg"/>
        <image name="toshiba.jpg"/>
        <image name="ziehm.jpg" />
    </group>
    <group>
        <image name="zonare.jpg"/>
        <image name="unitedradiologysystems.jpg"/>
    </group>
</groups>

И внутри обработчика событий завершения загрузки у меня есть это:

var xDoc:XMLDocument = new XMLDocument();
var userXML:XML = XML(evt.target.data);
trace(userXML);
xDoc.parseXML(userXML.toXMLString());

У меня есть объект Group, который будет хранитьсписок имен изображений в массиве.Как использовать объект xDoc для чтения этих данных?

1 Ответ

3 голосов
/ 24 июля 2010

Зачем использовать переменную xDoc? XML - это собственный тип данных во Flex, который отлично подходит для синтаксиса E4X, как показано ниже (примечание: некоторая обработка ошибок и проверка нулей, вероятно, были бы хорошей идеей).

var images:XMLList = userXML.group.image as XMLList;
for each(var img:XML in images)
{
    trace(img.@name);
}
...