v7plus, XML - вставка узла перед другим #472699


#0 by Chai Nic
Почему-то не работает метод СоздатьПодчиненныйЭлемент, если указан второй параметр <ВставитьПеред>. Выдается сообщение "Ошибка создания нового узла". В метод передается однозначно существующий узел. // это не работает ПодтвЗаказа=Корень.СоздатьПодчиненныйЭлемент("OrderConfirm",Корень.ПолучитьПодчиненныйПоНомеру); У кого-нибудь _вставка_ (а не добавление) подчиненных элементов работает? Поделитесь примером, пожалуйста.
#1 by Гость2
Читать умеешь? ПолучитьПодчиненныйПоНомеру(<?>) Синтаксис: ПолучитьПодчиненныйПоНомеру(<НомерУзла>) Назначение В совокупности с КоличествоПодчиненных данный метод используется для обхода узлов, подчиненных данному узлу. Порядок обхода совпадает с расположением узлов в документе Возвращаемое значение: объект узла документа определенного типа Параметры: <НомерУзла> - числовое выражение, содержащее номер требуемого узла. Нумерация узлов начинается с нуля Пример: Для Сч = 0 По Элемент.КоличествоПодчиненных-1 Цикл
#2 by Chai Nic
Читал. Ну и? Что не так? Я же написал - Корень.ПолучитьПодчиненныйПоНомеру возвращает корректный узел.
#3 by Гость2
Всего сколько узлов? Попробуй ПодтвЗаказа=Корень.СоздатьПодчиненныйЭлемент("OrderConfirm",Корень.ПолучитьПодчиненныйПоНомеру);
#4 by Chai Nic
В корне один подчиненный узел. Обращение ко второму выдает ошибку "Выход за границы массива"
#5 by Chai Nic
(+4) К нулевому - аналогично
#6 by Гость2
Попробуй
#7 by Гость2
ДобавитьПодчиненный(<?>,) Синтаксис: ДобавитьПодчиненный(<НовУзел>, <ВставитьПеред>) Назначение Метод используется для вставки нового узла, созданного с помощью соответствующих методов объекта документа, в список подчиненных данному узлу Возвращаемое значение: нет Параметры: <НовУзел> - Объект нового узла <ВставитьПеред> - Необязательный параметр, тип - узел. Если параметр указан, новый узел будет вставлен перед ним, в противном случае новый узел будет вставлен последним. Пример:
#8 by Chai Nic
Не влияет. Этот способ тоже не помог. ПодтвЗаказа=XMLЗаказ.СоздатьУзел(1,"OrderConfirm"); Корень.ДобавитьПодчиненный(ПодтвЗаказа,Корень.ПолучитьПодчиненныйПоНомеру); Выдает ошибку "Неизвестное имя" при добавлении; если не указывать <ВставитьПеред> - то в конец добавляет нормально. По сути, та же проблема что и в .
#9 by Гость2
Ты пробуешь прямо в корень вставить?
#10 by Chai Nic
Да, разумеется.. Корень это ЭлементДокумента. А чего в этом такого? Добавление в корень работает же, почему не работает вставка?
#11 by Гость2
Попробуй добавить два элемента, а затем сделать вставку перед вторым.
#12 by Chai Nic
Та же фигня. Вообще, у кого-нибудь есть код, который реально это делает (не цитата из СП)?
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С