Показать сообщение отдельно
Старый 14.04.2008, 15:07
chingachgoog вне форума Посмотреть профиль Найти все сообщения от chingachgoog
  № 9  
Ответить с цитированием
chingachgoog
Banned
 
Аватар для chingachgoog

блогер
Регистрация: Nov 2006
Адрес: Moscow
Сообщений: 2,145
Записей в блоге: 7
Цитата:
Сообщение от Shinoby
Код:
	for(my_node = book_xml3; my_node!=null; my_node = my_node.nextSibling){
		if(my_node.nodeName == "characterInfo"){
			break;
		}

	trace(my_node.nodeName);
	}
Так тоже ничего. Трейс позвращает null. Я чего то не пойму, но не пойму чего именно. То что в my_node скидывается ХМЛ я уверен. Проверил засунув в цикл "my_node.childNodes[0].childNodes[0].childNodes[0].attributes.name" и он вернул мне правильное значение.
Проверять надо не так, а просто поставить трейс перед циклом:

Код:
trace("my_node="+my_node.nodeName);
	for(my_node = book_xml3; my_node!=null; my_node = my_node.nextSibling){
		if(my_node.nodeName == "characterInfo"){
			break;
		}

	trace(my_node.nodeName);
	}
После чего станет понятно, почему произошла ошибка и что такое корневой узел.
А ваша проверка:
my_node.childNodes[0].childNodes[0].childNodes[0].attributes.name
ничего не дает, т.к. никоим образом не соответствует my_node.nodeName

Цитата:
Сообщение от udaaff
Ты часто видел xml с 256 уровнями вложенности?
Ни разу, т.к. я сам для себя xml и пишу. Но представить такое вполне могу - особенно при правильном нежелании пользоваться аттрибутами.

Цитата:
Сообщение от iNils
Учитывая, что это код мой, то он все обходит, только вместо or, сейчас надо использовать ||
Если я правильно понял, то or относилось к разработчику кода, мол "парни, выбирайте, что вам больше нравится: либо hasChildNodes либо childNodes.length". Или нет?