Показать сообщение отдельно
Старый 14.10.2007, 17:21
Chas вне форума Посмотреть профиль Отправить личное сообщение для Chas Посетить домашнюю страницу Chas Найти все сообщения от Chas
  № 6  
Ответить с цитированием
Chas
 
Аватар для Chas

Регистрация: Sep 2002
Адрес: simferopol
Сообщений: 981
Отправить сообщение для Chas с помощью ICQ
Код:
banner_xml = new XML();
banner_xml.onLoad = startBannerShow;
banner_xml.load("banner.xml");
тут тебе правильно сказали, onLoad присваивай не РЕЗУЛЬТАТ выполнения функции, а указатель на нее. порядок - сначала onload, потом load или наоборот - не имеет значение, потому что функция, на которую указывает onLoad будет вызвана намного позже - аж когда xml-ка загрузится. это вообще может быть вообще через пару кадров.

далее как парсим:
Код:
function startBannerShow(success) {
	if (success == true) {
		rootNode = banner_xml.firstChild; //= <banner>...</banner>
		node = rootNode.firstChild; //=<textBanner>...</textBanner>
                        //получаем значения атрибутов
                        size=node.attributes.size;
                        color=node.attributes.color;
                        ...
                        //получаем содержимое узла <textBanner>
                        text=node.firstChild.nodeValue; //=My text!!!
                        }
}
примечание. если у тебя несколько <textBanner> и тебе их все надо пройти, то для этого нужно использовать другую конструкцию:
Код:
for (i=0; i<rootNode.childNodes.length;i++){
     node = rootNode.childNodes[i];
     ...
}
__________________
~
Never trouble trouble till trouble troubles you!


Последний раз редактировалось Chas; 14.10.2007 в 17:23.