Цитата:
|
Если вы попытаетесь использовать методы класса 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.