PDA

Просмотр полной версии : Проблема с загруской данных из XML


_gluc_
11.08.2008, 10:36
Требуется загружать некоторые данные из файла XML (URL фотографий и текст статьи), вроде бы сам файл загружается нормально (трасировкой проверял) и работать должно, но вместо значений трасировка выдаёт только undefined, ну и соответственно ничего не загружается в сам клип и не заполняется текстовое поле. Помогите пожалуйста советом, сроки горят, а у меня тут ступор =((

AS код:
var mcl:MovieClipLoader = new MovieClipLoader();
var page_xml:XML = new XML();
page_xml.load("content.xml");
page_xml.ignoreWhite = true;
var currentNum:Number = 1;
var obj:Object = new Object();
mcl.addListener(obj);
function getContent(contentNode:XMLNode):Array {
var url:String = contentNode.attributes.url;
trace("contentNode.attributes.url="+contentNode.attributes.url)
var txt_preview:String = contentNode.firstChild.nodeValue;
return [url, txt_preview];
}
function displayContent():Void {
var url_pic = getContent(currentNode)[0];
var txt_pre = getContent(currentNode)[1];
mcl.loadClip(url_pic,ph_m);
ph_m._x = 15;
ph_m._y = 15;
trace("text="+_level0.txt_pre);
trace("url="+_level0.url_pic);
}
page_xml.onLoad = function(success) {
if (success) {
var topNode = page_xml.firstChild;
var totalNum = topNode.childNodes.lenght;
displayContent(currentNode);
}
};
и содержимое XML:
<content>
<image url="photos/photo_1_big.jpg">
</image>

<text_preview>
<![CDATA[Аллегро варьирует музыкальный гекзаметр, учитывая опасность, которую представляли собой писания
Дюринга для не окрепшего еще немецкого рабочего движения. Midi-контроллер интегрирует сюжетный
анимус, таким образом, сходные законы контрастирующего развития характерны и для процессов в психике.
Гегельянство использует комплекс агрессивности, при этом буквы А, В, I, О символизируют соответственно
общеутвердительное, общеотрицательное, частноутвердительное и частноотрицательное суждения. Статус
художника синхронно имитирует словесный здравый смысл, однако Зигварт считал критерием истинности
необходимость и общезначимость, для которых нет никакой опоры в объективном мире.
Богатство мировой литературы от Платона до Ортеги-и-Гассета свидетельствует о том, что искусство
трансформирует резкий септаккорд, изменяя привычную реальность. Художественный идеал дает гармониче-
ский интервал, это и есть одномоментная вертикаль в сверхмногоголосной полифонической ткани.
]]></text_preview>
</content>

Wolsh
11.08.2008, 12:43
if (success) {
var topNode = page_xml.firstChild;
var totalNum = topNode.childNodes.lenght;
displayContent(currentNode);
}
И что здесь currentNode?

_gluc_
11.08.2008, 14:30
Ну да, вообще-то лишне оно там, это просто последний вариант из тех что перепробовал... в общем проблемы это не решит... (( А подругому я не знаю как поступить...

Wolsh
11.08.2008, 16:39
Да Вы меня не поняли. У вас везде этот каррентНоде. А что это? Откуда? НЕТ у Вас нигде в коде, что это такое.

qazwsx
11.08.2008, 17:02
var mcl:MovieClipLoader = new MovieClipLoader();
var page_xml:XML = new XML();
page_xml.load("content.xml");
page_xml.ignoreWhite = true;
var currentNum:Number = 1;
var obj:Object = new Object();
mcl.addListener(obj);
function getContent(contentNode:XMLNode):Array {
var elem:XMLNode = contentNode.firstChild;
var url:String = elem.attributes.url;
elem = elem.nextSibling;
var txt_preview:String = elem.firstChild.toString();
trace(url+', '+txt_preview);
return [url, txt_preview];
}
function displayContent():Void {
var node:XMLNode = page_xml.firstChild;
var arr:Array = getContent(node);
var url_pic = arr[0];
var txt_pre = arr[1];
mcl.loadClip(url_pic,ph_m);
ph_m._x = 15;
ph_m._y = 15;
trace("text="+txt_pre);
trace("url="+url_pic);
}
page_xml.onLoad = function(success) {
if (success) {
page_xml.ignoreWhite = true;
var topNode = page_xml.firstChild;
var totalNum = topNode.childNodes.lenght;
displayContent();
}
};

ПОЛУЧИ!!!!^_^

Вот в такомже безобразном виде как и написанно у тебя... А переписывать все я конечно не стану... Но надеюсь ты догадаешся почему у тебя не ображалось ничего >_<

_gluc_
11.08.2008, 20:55
qazwsx, спасибо большое! Всё работает... Разобрался, понял, буду внимательнее...