Тема: Массивы
Показать сообщение отдельно
Старый 02.10.2006, 19:47
miramax вне форума Посмотреть профиль Отправить личное сообщение для miramax Посетить домашнюю страницу miramax Найти все сообщения от miramax
  № 4  
Ответить с цитированием
miramax
 
Аватар для miramax

Регистрация: Oct 2005
Адрес: Борисоглебск
Сообщений: 1,702
Отправить сообщение для miramax с помощью ICQ Отправить сообщение для miramax с помощью AIM Отправить сообщение для miramax с помощью MSN Отправить сообщение для miramax с помощью Yahoo Отправить сообщение для miramax с помощью Skype™
А зачем рекурсия?
Вот, писал когда-то чрезвычайно полезную функцию.
Код:
function nextNode(node_xml:XMLNode):XMLNode {
	if (node_xml.hasChildNodes() == true) return (node_xml.firstChild);
	else while (node_xml.nextSibling == null && node_xml.parentNode != null) node_xml = node_xml.parentNode;
	return (node_xml.nextSibling);
}
А обойти всё дерево можно так
Код:
xmlDoc = new XML("<A><C/></A><B/>")
xm = xmlDoc.firstChild

i = 0
while(xm!= null && xm != undefined)
{
     i+=1
     trace('нод № '+i)
     trace(xm)
     xm = nextNode(xm)
}
Позволяет просто перебрать все подряд ноды в дереве. Можно сделать перебор внутри одного нода, если поставить другие условия в while
__________________
AS3 | www.FLAPS.ru | Русские флэшеры самые умные флэшеры в мире. ©


Последний раз редактировалось iNils; 02.10.2006 в 19:57.