![]() |
|
||||||||||
|
|||||
|
Помогите оптимизировать кусок кода, а то после рабочей недели ничего в голову не лезет. Спасибо.
this.cList = new XML(); this.cList = ListXML.firstChild; this.media = this.cList.firstChild; while (i<ListXML.firstChild.childNodes.length) { curnode = this.media.firstChild; //trace("this.media="+this.media); ident = this.media.attributes.id; //trace("ident="+ident); ctype = curnode.firstChild.nodeValue; ccode = curnode.nextSibling.firstChild.nodeValue; ico_projection = curnode.nextSibling.nextSibling.firstChild.nodeValue; built = curnode.nextSibling.nextSibling.nextSibling.firstChild.nodeValue; light = curnode.nextSibling.nextSibling.nextSibling.nextSibling.firstChild.nodeValue; sectorcode = curnode.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild.nodeValue; X = curnode.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild.nodeValue; Y = curnode.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild.nodeValue; _location = curnode.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild.nodeValue; rs = curnode.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild.nodeValue; quant = curnode.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild.nodeValue; .... this.media = this.media.nextSibling; i++; }
__________________
www.maxshaman.com |
|
|||||
|
Регистрация: Jul 2005
Адрес: in some hole
Сообщений: 14
|
сложно понять конечно...
не влазит столько за раз в голову ... может вот такая штука поможет ? я пользуюсь на ура при разборе XML метод без аргументов; возвращает следующий элемент XMLNode в дереве документа XML. Если при переборе достигнут конец документа, метод возвращает значение null. исходный код XMLNode.prototype.nextNode = function() { if (this.firstChild != null) { return this.firstChild; } var n = this; while (n.nextSibling == null) { if (n.parentNode) { n = n.parentNode; } else { return null; } } return n.nextSibling; }; пример использования myXML = new XML ("<n1><n2><n3></n3><n4><n5><n6><n7><n8><n9></n9></n8></n7></n6></n5></n4></n2><n10></n10></n1>"); nod = myXML.firstChild; while (nod) { trace (nod.nodeName); nod = nod.nextNode(); } автор вроде Iv
__________________
wbr, Pong |
|
|||||
|
Ок.Спасибо.Сейчас попробую.
__________________
www.maxshaman.com |
|
|||||
|
Регистрация: Jul 2005
Адрес: in some hole
Сообщений: 14
|
алгоритм немного сложный на первый взгляд...
нашел его когда нужно было XML парсить.. если сразу непонятно будет, возьми небольшой но реальный XML (не а в с) и пройди его на бумажке по этому алгоритму сразу все понятно станет.. весьма изящно и работает на все 100 ![]()
__________________
wbr, Pong |
![]() |
![]() |
Часовой пояс GMT +4, время: 06:00. |
|
|
« Предыдущая тема | Следующая тема » |
|
|