Каталог решений - XML в JSON — пример обработки XML без сохранения в файл.

XML в JSON — пример обработки XML без сохранения в файл.

XML в JSON — пример обработки XML без сохранения в файл.

В наличии

Пример обработки XML файла или просто текста через текстовое поле в JSON.
Алгоритм может использоваться, когда требуется Счет-фактуру полученную по ЭДО перебрать и подготовить ПАКЕТ JSON для обмена с БУХ базой.

Категория:

Описание

Обработка вызывается через Файл — Открыть, преобразование текста XML в формат JSON производится по кнопке "Сформировать".

Обработчик команды "Сформировать":


&НаСервере
Процедура СформироватьНаСервере()
        
    ТекстXML = XML;
    ЧтениеXML = Новый ЧтениеXML();
    ЧтениеXML.УстановитьСтроку(ТекстXML); 

    //Перебор узлов
    МассивСтруктур = Новый Массив;
    Пока ЧтениеXML.Прочитать() Цикл
                        
        Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
            Если ЧтениеXML.ЛокальноеИмя = "СведТов" Тогда
                //Читаем = Истина;
                Если ЧтениеXML.КоличествоАтрибутов() > 0 Тогда 
                    СтруктураТоваров = Новый Структура();
                    Пока ЧтениеXML.ПрочитатьАтрибут() Цикл
                        // Обработка атрибута
                        СтруктураТоваров.Вставить(ЧтениеXML.ЛокальноеИмя,ЧтениеXML.Значение);
                    КонецЦикла;
                    МассивСтруктур.Добавить(СтруктураТоваров);
                КонецЕсли;
            КонецЕсли;
        КонецЕсли;	
    КонецЦикла; 
    
    ЧтениеXML.Закрыть();
    
    ЗаписьJSON(МассивСтруктур);
КонецПроцедуры

&НаКлиенте
Процедура Сформировать(Команда)
    СформироватьНаСервере();
КонецПроцедуры

&НаСервере
Функция ЗаписьJSON(МассивСтруктур)
    
    Настройки = Новый НастройкиСериализацииJSON();
    Настройки.ФорматСериализацииДаты = ФорматДатыJSON.ISO;
    Настройки.ВариантЗаписиДаты = ВариантЗаписиДатыJSON.ЛокальнаяДата;

    
    ЗаписьJSON = Новый ЗаписьJSON;
    ЗаписьJSON.УстановитьСтроку(Новый ПараметрыЗаписиJSON( ПереносСтрокJSON.Нет));
    ЗаписатьJSON(ЗаписьJSON, МассивСтруктур, Настройки);
    СтрокаJSON = ЗаписьJSON.Закрыть();
    
    Возврат СтрокаJSON;

КонецФункции   

 

has been added to your cart:
Оформление заказа