actionscript 2.0 чтение XML-файла

Я пытаюсь прочитать файл XML с помощью actionscript 2.0.

Проблема в том, что я могу только заставить свой код читать значение тега, ссылаясь на их позицию.

e.g. var currentIcon = myXML.firstChild.firstChild.childNodes[0].firstChild;

Как получить значение из файла XML, ссылаясь на имя их тега?

e.g. var currentIcon = myXML.firstChild.firstChild.childNodes['icon'].firstChild;

Вот мой XML-файл...

<weather>
    <current>
        <icon>Partly cloudy</icon>
        <temphigh>33</temphigh>
        <templow>24</templow>
        <humhigh>55</humhigh>
        <humlow>95</humlow>
    </current>
    <forecast1>
        <day>Monday</day>
        <icon>rss_ts2</icon>
        <temphigh>33</temphigh>
        <templow>24</templow>
    </forecast1>
    <forecast2>
        <day>Tuesday</day>
        <icon>rss_ts2</icon>
        <temphigh>32</temphigh>
        <templow>23</templow>
    </forecast2>
    <forecast3>
        <day>Wednesday</day>
        <icon>rss_ts2</icon>
        <temphigh>32</temphigh>
        <templow>23</templow>
    </forecast3>
</weather>

person EDDIU    schedule 14.02.2011    source источник


Ответы (1)


В AS2 вы не можете напрямую получить узел по имени из массива childNodes (вы можете сделать это в AS3 с E4X и записью через точку). Вы должны преобразовать загруженный XML в собственный объект AS2, используя анализатор XML2Object следующим образом:

http://www.sephiroth.it/weblog/archives/2004/01/xml2object.php

Затем вы получите доступ к XML с точечной нотацией, такой как weather.current.icon.
Ссылка содержит класс XML2Object AS2 и несколько примеров.

Эта ссылка объясняет разницу в том, как обрабатывать XML-документы в AS2 и AS3:
http://www.thetechlabs.com/tech-tutorials/xml/working-with-xml-e4x-and-actionscript-3/

person lomanf    schedule 14.02.2011