Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   XML элементы 2 array (http://www.flasher.ru/forum/showthread.php?t=30337)

Diomas 16.04.2002 13:10

XML элементы 2 array
 
Народ, не пойму как пользоваться XML объектом.
Есть файл:
------------------
<pages>
<page>xxx</page>
<page>yyy</page>
<page>zzz</page>
</pages>
-------------------
Грузю его в хмл - грузится (хмл.тоСтринг его показывает).

А теперь как мне раскидать содержимое всех <page> в элементы массива?
т.е. чтобы в итоге получилось:

arr[1] = "xxx";
arr[2] = "yyy";
arr[3] = "zzz";

короче, как пользоваться этими firstChild и nextSli.. (чего-то там)?

Stellerex 16.04.2002 14:10

А зачем тебе XML разбрасывать по массиву?
При установленном ignoreWhite у XML объекта ссылку на можешь получить через myXML_xml.firstChild.
У него через childNodes получаешь массив всех элементов.

Nox Noctis 16.04.2002 14:13

1. если ты точно знаешь, что все текстовые ноды у тебя лежат именно в таком порядке:
<основной_тег>
<первый_текст>...</первый_текст>
<второй_текст>...</второй_текст>
<третий_текст>...</третий_текст>
.........
.........
</основной_тег>

то загнать тексты в массив очень просто:
Код:

function getTextArray(XM) { // XM - это твой xml-объект
        var xmlText = []; // массив в который текст записываем
        var tmp = XM.firstChild.firstChild;
        do {
                xmlText.push(tmp.firstChild);
        } while (tmp=tmp.nextSibling);
                //------------- трейсим получившееся
        for (i in xmlText) {
                trace(i+" :: "+xmlText[i]);
        }
                //
                return xmlText;
}

2. если ты не знаешь, как там расположены текстовые ноды (какая у них степень вложенности), то тебе нужен полный обход дерева (вширину или вглубину - зависит от задачи)

Diomas 17.04.2002 17:07

Именно так и надо - задача простая: все элементы - чаилды корневого. Просто впервый раз с хмл столкнулся.

Спасибо за ответ.


Часовой пояс GMT +4, время: 07:23.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.