Форум 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=129114)

Hunter_lis 25.08.2009 11:21

Отображение XML-данных
 
Имеется XML-документ
Код:

<rss version="2.0">

<channel>
<item>
<title>AUD</title>
<pubDate>25.08.09</pubDate>
<description>126.57</description>
<quant>1</quant>
<index>UP</index>
<link/>
</item>

<item>
<title>GBP</title>
<pubDate>25.08.09</pubDate>
<description>248.48</description>
<quant>1</quant>
<index>DOWN</index>
<link/>
</item>

</channel>

</rss>

На сцене Flash имеется динамический текст с именем "boi"
В Action код:
Код:

myXML = new XML();
myXML.onLoad = function(success){
if(success){
_root.boi.text=myXML.firstChild.firstChild.nodeVal ue("title");
}
}

myXML.load("rss.xml");

Нужно отобразить данные: "title", "pubDate", "description" по отдельности. Пока ничего не получается даже с первым "title". Может кто поможет. Заранее благодарен.

udaaff 25.08.2009 12:36

nodeValue -- это свойство, а не метод.
+
Код AS1/AS2:

myXML.ignoreWhite = true;

И фёстчайлдов маловато =)

Hunter_lis 25.08.2009 13:23

Отображается, но вместе с тегами почему-то. И еще такая фигня, можно ли сделать так, чтобы не писать кучу "firstChild и nextSibling",а допустим указать "firstChild номер 3 или nextSibling номер 5" Как то так.

cleptoman 25.08.2009 13:24

хехе )

Код AS1/AS2:

myXML = new XML();
myXML.onLoad = function(success){
if(success){
_root.boi.text=myXML.toString();
}
}
 
myXML.load("rss.xml");

Добавлено через 13 минут
Код AS1/AS2:

myXML = new XML();
myXML.ignoreWhite = true;
myXML.onLoad = function(success){
if(success){
var nodesLen:Number = myXML.firstChild.firstChild.childNodes.length;
for(var i:Number = 0; i < nodesLen; i++ ){
        //trace(myXML)
        var nodeChldrenLength:Number = myXML.firstChild.firstChild.childNodes[i].childNodes.length;
        trace("***** start " + myXML.firstChild.firstChild.childNodes[i].nodeName + "*****");
        for(var j:Number = 0; j < nodeChldrenLength; j++){
                //_root.boi.text=myXML.toString();
                var node:XMLNode = myXML.firstChild.firstChild.childNodes[i].childNodes[j];
                trace(node.nodeName + ": " + node.firstChild.nodeValue);
        }
        trace("***** end " + myXML.firstChild.firstChild.childNodes[i].nodeName + "*****");
}
}
 
myXML.load("rss.xml");


Hunter_lis 25.08.2009 13:50

toString(); Если его вставляю, он отображает мне в виде текста все всю структуру XML файла вместе с тегами. Может он считает его HTML текстом, поэтому так?

Добавлено через 21 час 46 минут
cleptoman Попробовал использовать ваш код. Данные теперь загружаются с сервера в таком виде
Код:

start item*****
titletitle AUD
pubDatetitle 26.08.09
descriptiontitle 126.18
quanttitle 1
indextitle DOWN
linktitle undefined
***** end item*****
***** start item*****
titletitle GBP
pubDatetitle 26.08.09
descriptiontitle 246.47
quanttitle 1
indextitle DOWN
linktitle undefined
***** end item*****

На сцене не отображаются. Наверно вместо звездочек в вашем коде, нужно поставить теги "title" или "pubDate" и т.п. только чет я торможу. Пробовал подставлять, ничего не происходит, на сцене тоже ничего не появляется и ошибок не выдает. Где я не прав?

Добавлено через 42 часа 45 минут
Народ, прием!!! Поможет кто нибудь или нет. Куда все делись?


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

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