Имя: Пароль:
1C
1С v8
Добавить узел в xml документ
0 furen23
 
17.01.17
22:27
ОбъектXML   = Новый ЧтениеXML;
    ОбъектXML.ОткрытьФайл(ПутьКФайлу);
    ПостроительDOM = Новый ПостроительDOM;
    ДокументDOM    = ПостроительDOM.Прочитать(ОбъектXML);
    ОбъектXML.Закрыть();
        
    СписокЭлементов = ДокументDOM.ПолучитьЭлементыПоИмени("offer");
    Для каждого Элемент Из СписокЭлементов Цикл
        СписокАтрибутов = Элемент.Атрибуты;
        Для каждого Атрибут из СписокАтрибутов Цикл
            Если Атрибут.ИмяУзла = "id" тогда
                артикул = Атрибут.Значение;
            КонецЕсли;    
        КонецЦикла;
        
        СписокУзлов = Элемент.ДочерниеУзлы;
        ДЛя Каждого Узел из СписокУзлов цикл
            Если Узел.ИмяУзла = "categoryId" тогда
                КодКатегории =Узел.ТекстовоеСодержимое;
                
                СписокКатегорий = ДокументDOM.ПолучитьЭлементыПоИмени("category");
                Для Каждого Категория из СписокКатегорий Цикл
                    АтрибутыКатегорий = Категория.Атрибуты;
                    ДЛя каждого Атрибута из АтрибутыКатегорий цикл
                        Если Атрибута.ИмяУзла = "id" тогда
                            Если   Атрибута.Значение = КодКатегории тогда
                                значение =  Атрибута.ЭлементВладелец;
                                ТипТовара = значение.ТекстовоеСодержимое;
                            КонецЕсли;
                            
                        КонецЕсли    
                    КонецЦикла;    
                    
                КонецЦикла;    
                
            конецЕсли;
            
            Если Узел.ИмяУзла = "name" тогда
                Имя = Узел.ТекстовоеСодержимое;
                НовоеИмя = Имя;
        Узел.ТекстовоеСодержимое = НоваяСтрока+" "+НовоеИмя+" "+Артикул;
                 СледующийУзел = Узел.СледующийСоседний;
                 Если СледующийУзел.ИмяУзла<> "vendor" тогда
                    
                КонецЕсли;
    
            КонецЕсли;

        КонецЦикла;
    КонецЦикла;
    
    ЗаписьXML = Новый ЗаписьXML;
    ЗаписьXML.ОткрытьФайл(ПутьКФайлу);
    ЗаписьDOM = Новый ЗаписьDOM;
    ЗаписьDOM.Записать(ДокументDOM, ЗаписьXML);
    ЗаписьXML.Закрыть();    
    
Есть xml документ с определённой структурой,если после узла "name" нет узла "vendor", то его нужно создать.
Как узнать есть ли узёл я смог:
Если СледующийУзел.ИмяУзла<> "vendor" тогда
                    
КонецЕсли;

Но как его сюда добавить?
1 furen23
 
18.01.17
01:54
???
2 Fram
 
18.01.17
02:05
ДокументDOM.СоздатьЭлемент
потом Узел.ВставитьПеред