Форум 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 и извлечение из него атрибутов (http://www.flasher.ru/forum/showthread.php?t=108612)

Чттос 25.02.2008 17:30

Подгрузка XML и извлечение из него атрибутов
 
Ребята, спасайте, пожалуйста..! Вообще не могу понять в чем и где ошибка, что в нижеуказанном коде, в функции loadCombo() не работает условие for.
gallery_cb - это находящийся уже на сцене комбобокс компонент.

Код:

var rootNode:XMLNode;
var roxskaXML:XML = new XML();
roxskaXML.ignoreWhite = true;
roxskaXML.onLoad = loadPhotos;
roxskaXML.load("mediaPhotos.xml");
function loadPhotos(success:Boolean):Void {
        if (success) {
                rootNode = this.firstChild;
                loadCombo();
        } else {
                trace("Error loading XML - T4S");
        }
}
function loadCombo():Void {
        var galleryName:String;
        gallery_cb.addItem("--Select--");
        for (var i:Number = 0; i<rootNode.childNodes.lenght; i++) {
                galleryName = rootNode.childNodes[i].attributes.locationName;
                gallery_cb.addItem(galleryName);
                trace(rootNode);
        }
}

наверняка, тут где-нибудь допущена какая-нибудь глупая ошибка которую я НЕ МОГУ НАЙТИ. :mad:
trace(rootNode) или trace(this) либо другие trace() в этом месте ничего не выводят.

Olegg 25.02.2008 18:01

попробуйте так

Код:

var comboBox:mx.controls.ComboBox;
var rootNode:XMLNode;
var roxskaXML:XML = new XML();
roxskaXML.ignoreWhite = true;
roxskaXML.onLoad = loadPhotos;
roxskaXML.load("mediaPhotos.xml");
function loadPhotos(success:Boolean):Void {
        if (success) {
                rootNode = this.firstChild;
                loadCombo();
        } else {
                trace("Error loading XML - T4S");
        }
}
function loadCombo():Void {
        var galleryName:String;
        gallery_cb.addItem("--Select--");
        for (var i:Number = 0; i<rootNode.childNodes.lenght; i++) {
                galleryName = rootNode.childNodes[i].attributes.locationName;
                trace(rootNode);
        }
        gallery_cb.dataProvider = galleryName;
}

ПС.Ошибка в том,что вы не инициализировали ComboBox(см.строчку 1)
и элементы добавляются не так.как вы добавляете.

Чттос 25.02.2008 18:58

с этим кодом вообще ничего не работает)) а разве надо инициализировать ComboBox, если он уже лежит в кадре? может быть, может быть, спорить не буду, правда и без этой строчки сам компонент работал:
Код:

gallery_cb.addItem("--Select--");
строку --Select-- выдавал.

посмотрите пожалуйста, правильно ли написано условие FOR?

Olegg 25.02.2008 19:01

Выложите исходник.

Fernando Costa 25.02.2008 19:07

здается мне что проблема в самом ХМЛ файле

Olegg 25.02.2008 19:17

Кстати,может быть.Выложите структуру XML.

Чттос 25.02.2008 19:42

Вложений: 1
Вложение 18926
исходник приложила, там есть и хмл. дело в том, что хмл работает если запросить его атрибуты этих же узлов в другом месте кода.
но вот на всякий случай код хмл выкладываю тут:

Код:

<?xml version="1.0" encoding="utf-8"?>
<roxska>
        <album locationName="one foulder in my pc">
                <photo        name="photo du groupe" src="roxska.swf">its roxska swf</photo>
                <photo        name="video" src="roxska1.swf">its roxska one swf</photo>
                <photo  name="photo life" src="flash.swf">its flash swf</photo>
                <photo        name="bla" src="r de roxska.png">its r of roxska png</photo>
                <photo        name="ghthty" src="l_be1e1af5004c5d441875ea17d5d72c37.gif">its gif of bonhommes</photo>
        </album>
        <album locationName="second foulder on my pc">
                <photo        name="bla1" src="rs1.jpg">bg one</photo>
                <photo        name="bla2" src="rs1.jpg">bg two</photo>
                <photo  name="but" src="bouttonmedia.swf">button bazarre</photo>
        </album>
</roxska>


iNils 25.02.2008 19:46

У вас в цикле lenght, а надо length.

Fernando Costa 25.02.2008 19:51

iNils - глаз алмаз.
Эх не прикрутили на форум теги :(

Чттос 25.02.2008 20:01

Ух! только что методом тыка поняла что проблема именно в этом
Код:

rootNode.childNodes.lenght
.. а свою ошибку так и не заметила. про lenght-length

спасибо всем огромное, впредь надо быть внимательнее с подсветкой тегов. (сказала сама себе)


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

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