|
|
|||||
стервочка (я мужик)
|
Простой Xml
Подскажите пожалуйста как проще во флеш-переменые (три масива) занести бездетный xml. А то у меня чё-то только первый елемент заносит.
|
|
|||||
стервочка (я мужик)
|
В массив a - name; в b - href; ; в c - w.
Тоесть получить что-то вроде этого: Последний раз редактировалось BlooDHounD; 17.04.2004 в 21:39. |
|
|||||
xmlElt = new XML("<menu><m name='111'href='http://111.ru/'w='11'/><m name='222'href='http://222.com/'w='22'/><m name='333'href='http://333.net/'w='33'/></menu>");
var nod=xmlElt.firstChild.firstChild; a=[]; b=[]; c=[]; i=0; while(nod){ a[i]=nod.attributes.name; b[i]=nod.attributes.href; c[i]=nod.attributes.w; nod=nod.nextSibling; i++; } Последний раз редактировалось silin; 17.04.2004 в 23:52. |
|
|||||
стервочка (я мужик)
|
eXML = new XML(); eXML.ignoreWhite = true; eXML.load('1.xml'); eXML.onLoad = function() { elXML=eXML.firstChild.firstChild; while (elXML) { a[i]=elXML.attributes.name; b[i]=elXML.attributes.href; c[i]=elXMLattributes.w; elXML=elXML.nextSibling; i++; } } Закинь исходник, плз! Последний раз редактировалось BlooDHounD; 18.04.2004 в 03:17. |
|
|||||
eXML = new XML();
eXML.ignoreWhite = true; eXML.load('1.xml'); a=[];b=[];c=[]; eXML.onLoad = function() { var i=0; var elXML=eXML.firstChild.firstChild; while (elXML) { a[i]=elXML.attributes.name; b[i]=elXML.attributes.href; c[i]=elXML.attributes.w; elXML=elXML.nextSibling; i++; } trace(a+" "+b+" "+c); } |
|
|||||
стервочка (я мужик)
|
Ничё не выходит!
Вот чё пишу в первом кадре: eXML = new XML(); eXML.ignoreWhite = true; eXML.load('xml.xml'); var a = b = new Array(); eXML.onLoad = function() { var i = 0, elXML = eXML.firstChild.firstChild; while (elXML) { a[i]=elXML.attributes.n; b[i]=elXML.attributes.u; elXML=elXML.nextSibling; i++; } trace(a+" "+b); } |
|
|||||
Во первых, ты уверен, что хочешь создать второй массив как ссылку на первый?
Во вторых - просто попробуй так
__________________
судью - на мыло, из игроков - вить веревки. |
|
|||||
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
ошибка:
var a = b = new Array(); приводит к созданию ОДНОГО массива с двумя ссылками на него. и соответственно заполняешь ты тоже один массив. лучше так: eXML = new XML(); eXML.ignoreWhite = true; eXML.load('xml.xml'); var a = [], b = []; eXML.onLoad = function() { var ptr = this.firstChild.firstChild; while (ptr) { a.push(ptr.attributes.n); b.push(ptr.attributes.u); ptr = ptr.nextSibling; } trace(a.join("\n")+"\n __ \n"+b.join("\n")); }; или можно сделать так, со счетчиком: |
|
|||||
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
какие шустрые блин :) слова вставить не дадут..
|
|
|||||
__________________
судью - на мыло, из игроков - вить веревки. |
Часовой пояс GMT +4, время: 13:39. |
|
« Предыдущая тема | Следующая тема » |
|
|