Просмотр полной версии : null: null...
billioner
06.07.2005, 15:27
Пытаюсь загрузить строки из 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"
В чем проблема?
Может те нада вот так написать ?)
<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);
}
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 - спасибо за исправление кода!
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.