Форум 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)
-   -   null: null... (http://www.flasher.ru/forum/showthread.php?t=66438)

billioner 06.07.2005 15:27

null: null...
 
Пытаюсь загрузить строки из XML, но Flash не может прочитать. XML сохранен в Юникоде. Вот XML:

<perviy>
<google>Use our google system</google>
<yandex>Use our yandex system</yandex>
<rambler>Use our rambler system</rambler>
<mail>Use our mail system</mail>
</perviy>

А вот ActionScript

myDoc = new XML();
myDoc.load ("123.xml");
function showNodes (node){
trace (node.nodeName + ": " + node.nodeValue);
for (var child = node.firstChild; child != null; child = child.nextSibling) {
showNodes(child);
}
}
showNodes (myDoc);

При тестировании трейсит "null: null"

В чем проблема?

MIX-er 06.07.2005 15:37

Может те нада вот так написать ?)
<perviy>
<node1 var="Use our google system" />
<node2 var ="Use our yandex system" />
</perviy>

KidsKilla 06.07.2005 15:40

1) nodeValue ток для текстовых нод всегда у тя будет нулл
2)
myDoc = new XML();
myDoc.load ("123.xml");
function showNodes (node){
trace (node.nodeName + ": " + node.nodeValue);
for (var child = node.сhildNodes.length; child; child--) {
showNodes(node.сhildNodes[child]);
}
}
showNodes (myDoc.firstChild);

по-моему так, но не пробовал.

billioner 06.07.2005 15:45

to Mix-er:
null: null

to KidsKilla:
undefined: undefined

KidsKilla 06.07.2005 15:48

аа, кстати, этаааа:

myDoc = new XML();
myDoc.load ("123.xml");
function showNodes (node){
trace (node.nodeName + ": " + node.nodeValue);
for (var child = node.сhildNodes.length; child; child--) {
showNodes(node.сhildNodes[child]);
}
}
myDoc.onLoad = function(){
showNodes (this.firstChild);
}

billioner 06.07.2005 16:18

Чет я вообще ни бум-бум - всёж правильно, а выдал вообще "null:" только...
Т.е. не то что использовать - даже прочитать не получается....

KidsKilla 06.07.2005 16:24

делай так:

myDoc = new XML();
myDoc.load ("123.xml");
function showNodes (node){
trace(node)
trace (node.nodeName + ": " + node.nodeValue);
for (var child = node.сhildNodes.length; child; child--) {
showNodes(node.сhildNodes[child]);
trace(node.сhildNodes[child])
}
}
myDoc.onLoad = function(){
showNodes (this.firstChild);
}

MIX-er 06.07.2005 17:24

stop();
xml = new XML();
xml.onLoad = function(success) {
if (success) {
trace(xml.toString());
parseXml();
} else {
trace("Xml file not find");
}
};
xml.load("123.xml");
xml.ignoreWhite = true;
function parseXml() {
col = xml.firstChild.childNodes.length;
trace(col);
Name = [];
Note = [];
for (var i = 0; i<col; i++) {
Note[i] = xml.firstChild.childNodes[i].attributes.Note;
Name[i] = xml.firstChild.childNodes[i].nodeName;
}
trace(Name);
trace(Note);
}

и что тут не так?

<perviy>
<google Note="Use our google system" />
<yandex Note="Use our yandex system" />
<rambler Note="Use our rambler system" />
<mail Note="Use our mail system" />
</perviy>

billioner 06.07.2005 18:17

Во! Оба варианта рабочие, помогли, спасибо! По конечному результату ближе вариант Mix-er'а. KidsKilla - спасибо за исправление кода!


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

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