Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Логика XML во Flash (http://www.flasher.ru/forum/showthread.php?t=102130)

UnOuter 09.10.2007 15:37

Логика XML во Flash
 
Люди, добрые помогите с логикой. Не могу сообразить как сделать следующее.

Есть скажем XML
Код:

<block>
  <item>1</item>
  <item>2</item>
  <item>3</item>
<block>

мне нужно по мере обработки цикла считывать данные с каждого items поочередно. То есть цикл обрабатывается 3 раза и следовательно на выходе я должен получить
1
2
3

Как реализовать данную задачу?

Mr. Fixit 09.10.2007 15:51

узнай длину нодов..
и отображай содержимое через переменную

Ведьмак 09.10.2007 15:52

о парсе XML во флэш сделано ОЧЕНЬ много тем здесь... поищите.. да и в хэлпе на эту тема приведены вполне рабочиек куски кода..

PS: т.е. цикл крутится до тех пор пока существует нод...

UnOuter 09.10.2007 16:21

Слишком уж больно расплывчатые ответы..
Напишите пожалуйста хоть по каким критериям искать...

Mnilionic 09.10.2007 16:23

toHelp: XML.childNodes

Ведьмак 09.10.2007 16:30

Код:

function readXMLMenu(stat) {
        if (stat) {
                var i = 0;
                while (XMLmenu.firstChild.childNodes[i]) {
                        trace(XMLmenu.firstChild.childNodes[i].childNodes);
                        i++;
                }
        }
}
XMLmenu = new XML();
XMLmenu.ignoreWhite = true;
XMLmenu.onLoad = readXMLMenu;
XMLmenu.load("file.xml");


UnOuter 09.10.2007 16:45

В Хелпе я находил парсинг, но я не нашел свой способ...

Код:

rootNode = rootNode.firstChild //1
rootNode = rootNode.firstChild.nextSibling; //2
rootNode = rootNode.firstChild.nextSibling.nextSibling;//3

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

Molecula 09.10.2007 16:56

Не так, в Вашем случае нужно так:
Код:

F_Build_Wins = function(){
wins_xml = new XML();
wins_xml.ignoreWhite = true;
wins_xml.onLoad = function(success:Boolean) {
        if (true) {
                F_createWins();
        }
};
wins_xml.load('states2.xml');
}
F_createWins=function(){
len = wins_xml.childNodes[0].childNodes.length;
for (var i = 0; i<len; i++) {
trace(wins_xml.childNodes[0].childNodes[i].firstChild.nodeValue)
}
}
F_Build_Wins();


Мыкыта 09.10.2007 16:56

Код:

var i = -1;
while (++i<firstChild.childNodes.length) {
trace(firstChild.childNodes[i]);
}


Ведьмак 09.10.2007 17:06

2 Molecula: что короче и понятее код в 6-ом посте или ваш?


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

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