helpf.pro
Регистрация
 +2 
Распечатать

1С 8.x : Как сформировать XML-документ в строку?

Требуется, чтобы запись XML-документа производилась не в файл, а в строку
Код 1C v 8.х
 Запись = Новый ЗаписьXML();
Запись.УстановитьСтроку();

Запись.ЗаписатьОбъявлениеXML();
Запись.ЗаписатьНачалоЭлемента("Корневой");
Запись.ЗаписатьАтрибут("Справочник", "Номенклатура");
Запись.ЗаписатьКомментарий("Краткая информация о номенклатуре");
Выборка = Справочники.Номенклатура.ВыбратьИерархически();
Пока Выборка.Следующий() Цикл
Если Выборка.ЭтоГруппа Тогда
Продолжить;
КонецЕсли;
Запись.ЗаписатьНачалоЭлемента("Элемент");
Запись.ЗаписатьАтрибут("Код", Строка(Выборка.Код));
Запись.ЗаписатьАтрибут("Артикул", Строка(Выборка.Артикул));
Запись.ЗаписатьТекст(Выборка.Наименование);
Запись.ЗаписатьКонецЭлемента();
КонецЦикла;
Запись.ЗаписатьКонецЭлемента();
Стр = Запись.Закрыть();
Сообщить(Стр);


Для вывода XML-документа в строку после создания объекта ЗаписьXML необходимо использовать метод УстановитьСтроку(). Только в этом случае метод Закрыть() вернет строку, которая будет содержать сформированный XML-документ.

еще примеры:
Код 1C v 8.х
   //Выгрузка объекта в XML строку
Функция ОбъектВXML(ДокументОбъект) Экспорт
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.УстановитьСтроку();
ЗаписатьXML(ЗаписьXML, ДокументОбъект);
Возврат ЗаписьXML.Закрыть();
КонецФункции

//Загрузка объекта из XML строки
Функция ОбъектИзXML(Стр) Экспорт
ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.УстановитьСтроку(Стр);

Возврат ПрочитатьXML(ЧтениеXML);
КонецФункции
Разместил:   Версии: | 8.x |  Дата:   Прочитано: 35336
 +2 
Распечатать
Возможно, вас также заинтересует
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 45
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ
1C и Google Maps 21
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во время решения задачи было реш
1С 8.x : Как убрать лидирующие нули в номере Документа (вариант2) 0
Скопировать строку с номером, с лидирующими нулями, в числовом поле (с форматом без групп, без группировки), и вернуть(скопировать) обратно в строковом поле с номером. Возвращает без нулей.
COM-подключение к базе 7.7 из 8.2 1С 6
Если код выполняется на стороне клиента, то необходимо наличие базы 7.7 на локальной машине. Пример (На форме объекта присутствует реквизит Таблица(ТаблицаЗначений)): НаКлиенте Процедура Загрузки() ПутьКБазе=" D:ВашаБаза1с77" ; Пользователь=
QR код в 1С 21
Столкнулся с интересной задачей реализации генерации QR-кода в 1С 8.2 ( QR-код — матричный код (двухмерный штрихкод) ) Для генерации было использовано api от google (http://chart.apis.google.com/chart). Вот сайт , который работает с ним. После тог
Посмотреть все результаты поиска похожих
Комментарии
ut2k5
01.12.2021 13:56Комментарий: 1
ut2k5

иногда бывает полезно просто получить строку xml всего документа из файла

ИмяФайлаXML = "C:\SomeXML.xml";   ПостроительDOM = Новый ПостроительDOM;   ЧтениеXML=Новый ЧтениеXML ; ЧтениеXML.ОткрытьФайл(ИмяФайлаXML); ДокументDOM = ПостроительDOM.Прочитать(ЧтениеXML);   ЧтениеXML.Закрыть();   ЗаписьXML = Новый ЗаписьXML; ЗаписьXML.УстановитьСтроку();   ЗаписьDOM = Новый ЗаписьDOM; ЗаписьDOM.Записать(ДокументDOM, ЗаписьXML);   Строка = ЗаписьXML.Закрыть();[/pre]
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.