![]() |
|
Как добавить элемент в СписокЭлементовDOM ? | ☑ | ||
---|---|---|---|---|
0
verone118
24.12.19
✎
22:14
|
Есть такой код:
ОбъектXML = Новый ЧтениеXML; ОбъектXML.УстановитьСтроку(Вложение.XMLДокумента); ПостроительDOM = Новый ПостроительDOM; ДокументDOM = ПостроительDOM.Прочитать(ОбъектXML); //НужныйЭлемент = ДокументDOM.ПолучитьЭлементыПоИмени("ИнфПолФХЖ1"); //Корневой = ДокументDom.ЭлементДокумента; Элемент = ДокументDOM.СоздатьЭлемент("ТекстИнф"); Элемент.УстановитьАтрибут("Значение","ПутьТест"); Элемент.УстановитьАтрибут("Идентиф","НомерЗаказаТест"); //Корневой.ДобавитьДочерний(Элемент); ЗаписьXML = Новый ЗаписьXML; ЗаписьDOM = Новый ЗаписьDOM; ЗаписьXML.УстановитьСтроку(); ЗаписьDOM.Записать(ДокументDOM, ЗаписьXML); СтрXML = ЗаписьXML.Закрыть(); "НужныйЭлемент", тип СписокЭлементовDom - в него нужно добавить новую строку, т.е. "Элемент". В конец документа добавляется через "Корневой", а вот в список не могу сообразить как сделать. Подскажите кто шарит) |
|||
1
RomaH
naïve
25.12.19
✎
07:05
|
ДобавитьДочерний?
|
|||
2
RomaH
naïve
25.12.19
✎
07:06
|
НужныйЭлемент.ДобавитьДочерний
|
|||
3
Максимка_
Космонавтом 25.12.19
✎
08:27
|
(3) Подозреваю, что если б все так просто было, ТС бы не завел топик
У типа данных "СписокЭлементовDom" нет методов вроде "Добавить()" или "ДобавитьДочерний()" |
|||
4
verone118
25.12.19
✎
15:07
|
(2) не получится. У СпискаЭлементовDom из методов только Количество() и элемент по индексу (
|
|||
5
verone118
25.12.19
✎
15:09
|
(3) ага) возможно надо как то по-другому получать список, а не ПолучитьЭлементыПоИмени()
может через какое то получение узла..хз |
|||
6
pechkin
25.12.19
✎
15:19
|
так у тебя коллекция.
нужно получить единичный узел например СпискаЭлементовDom[0], и к нему уже добавлять |
|||
7
verone118
29.12.19
✎
18:34
|
(6) спасибо друг, так и есть, разобрался
Пример кода, мало ли кому понадобится: СФ = Вложение.Документы1С[0].Значение; СтруктураЗК = ПолучитьДанныеПоДокументу(СФ); СписокАртикулов = СтруктураЗК.Артикулы; ОбъектXML = Новый ЧтениеXML; ОбъектXML.УстановитьСтроку(Вложение.XMLДокумента); ПостроительDOM = Новый ПостроительDOM; ДокументDOM = ПостроительDOM.Прочитать(ОбъектXML); ЭлементАдрес = ДокументDOM.ПолучитьЭлементыПоИмени("АдрИнф")[0]; ЭлементАдрес.УстановитьАтрибут("АдрТекст", СтруктураЗК.ЮрАдрес); Если Вложение.Получатель.Название = "Тестовый" Тогда НужныйЭлемент = ДокументDOM.ПолучитьЭлементыПоИмени("ИнфПолФХЖ1")[0]; НужныйЭлемент2 = ДокументDOM.ПолучитьЭлементыПоИмени("СведТов"); Элемент = ДокументDOM.СоздатьЭлемент("ТекстИнф"); Элемент.УстановитьАтрибут("Идентиф","ЗаказКлиентаНомер"); Элемент.УстановитьАтрибут("Значен",СтруктураЗК.НомерЗаказа); НужныйЭлемент.ДобавитьДочерний(Элемент); н = 0; Для Каждого ЭлементСписка Из НужныйЭлемент2 Цикл Элемент2 = ДокументDOM.СоздатьЭлемент("ИнфПолФХЖ2"); Элемент2.УстановитьАтрибут("Идентиф","Артикул"); Элемент2.УстановитьАтрибут("Значен",СписокАртикулов[н].Значение); ЭлементСписка.ДобавитьДочерний(Элемент2); н = н + 1; КонецЦикла; КонецЕсли; ЗаписьXML = Новый ЗаписьXML; ЗаписьDOM = Новый ЗаписьDOM; ЗаписьXML.УстановитьСтроку(); ЗаписьDOM.Записать(ДокументDOM, ЗаписьXML); СтрXML = ЗаписьXML.Закрыть(); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |