Просмотр полной версии : Подгрузка 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() в этом месте ничего не выводят.
попробуйте так
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)
и элементы добавляются не так.как вы добавляете.
с этим кодом вообще ничего не работает)) а разве надо инициализировать ComboBox, если он уже лежит в кадре? может быть, может быть, спорить не буду, правда и без этой строчки сам компонент работал:
gallery_cb.addItem("--Select--");
строку --Select-- выдавал.
посмотрите пожалуйста, правильно ли написано условие FOR?
Fernando Costa
25.02.2008, 19:07
здается мне что проблема в самом ХМЛ файле
Кстати,может быть.Выложите структуру XML.
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>
У вас в цикле lenght, а надо length.
Fernando Costa
25.02.2008, 19:51
iNils - глаз алмаз.
Эх не прикрутили на форум теги :(
Ух! только что методом тыка поняла что проблема именно в этом
rootNode.childNodes.lenght.. а свою ошибку так и не заметила. про lenght-length
спасибо всем огромное, впредь надо быть внимательнее с подсветкой тегов. (сказала сама себе)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.