Цитата:
|
Сообщение от 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". Или нет?