Показать сообщение отдельно
Старый 17.01.2017, 23:47
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 6  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,922
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Цитата:
Если вы попытаетесь использовать методы класса XML в отношении объекта XMLList, содержащего более одного объекта XML, возникнет исключение. Вместо этого следует выполнить итерацию в коллекции XMLList (например, с помощью оператора for each..in) и применить эти методы к каждому объекту XML в коллекции.
Цитата:
.. если я правильно понимаю, то строкой xml.lvl1[xml.lvl1.length()-1] мы добавляем <lvl2> к последнему <lvl1> в дереве.. без этого мы лепим <lvl2> к последнему закрывающему тегу </lvl1>, который неявно представлен как /> ???
В DOM нет открывающих и закрывающих тегов, есть объект, внутри него дети, а у объекта - атрибуты.
Тоесть, закрывающие и открывающие теги добавляются при преобразовании XML-DOM-модели в текст.

Коротко о том, почему ошибка - у вас в TEST 1 lvl1, вы обращаетесь xml.lvl1.appendChild. Вы добавляете в TEST ещё один lvl1(их теперь 2). Теперь XMLList не знает, к какому объекту вы обращаетесь из двух, и поэтому теперь он является списком, и содержит 2 элемента. При обращении к списку как к XML, он генерирует исключение.
__________________
There is no thing in this world that is not simple.