Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   разбор xml (http://www.flasher.ru/forum/showthread.php?t=79214)

AlexSol 04.05.2006 11:06

разбор xml
 
сам xml:
Код:

<body>
<a1>...</a1>
<a2>...</a2>
<a3>
      <a31>...</a31>
      <a32>...</a32>
</a3>
</body>

для этого случая разбираю так:
Код:

var story:XML = new XML();
story.ignoreWhite = true;
story.load("load1.xml");
story.onLoad = function() {
        if (story.firstChild.hasChildNodes()) {
                for (var aNode:XMLNode = story.firstChild.firstChild; aNode != null; aNode=aNode.nextSibling) {
                        if (aNode.firstChild.hasChildNodes()) {
                                aNode = aNode.firstChild;
                        }
                        content_txt.htmlText += aNode.firstChild.nodeValue;
                        content_txt.htmlText += "\n";
                }
        }
};


помогите сделать код универсальным,т.е. для случаев когда возможно неограниченное количество вложений в любом месте.

Antares 04.05.2006 11:33

Метод, скажем, recursiveWalkthrough:
Код:

for( var curNode : XMLNode = this.firstChild; curNode != null; curNode = curNode.nextSibling )
{
  if( curNode.hasChildNodes() )
    recursiveWalkthrough( curNode );
  else
    trace( curNode );
}

Как поправить, думаю, понятно :) Вообще у меня есть SAX-образный парсер на случай, если надо обрабатывать встречу тэга с таким-то именем так-то, с таким-то -- так-то и т.п.

Можно выложить.

AlexSol 04.05.2006 12:03

выкладывай! с recursiveWalkthrough( curNode ); не очень понятно - ecursiveWalkthrough в коде не подсвечивается - это случаем не внешняя функция? -вобщем в trace() имею 0.

etc 04.05.2006 13:10

А функцию ты сам должен написать)


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

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