Разборка-сборка XML
Интеграция - Файловый обмен (TXT, XML, DBF), FTP
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Если вам лень заниматься чтением и записью XML, то используя эту разработку, вы можете обрабатывать XML как обычное дерево значений.
Сразу предупреждаю, что ЧтениеXML был задуман как объект, не нагружающий память, поэтому для сверхбольших XML файлов я бы рекомендовал использовать прямое ЧтениеXML.
Но если файлы средних размеров, метод имеет право на жизнь.
Для разбора XML вы должны использовать код вида:
Ч = Новый ЧтениеXML();
Ч.ОткрытьФайл(ИмяГлавногоФайла);
П = ___обРазобратьXML(Ч);
Ч.Закрыть();
Все, XML файл прочитается, и запишется в структуру с полями:
Дерево - дерево разбора
Кодировка - кодировка XML
Дерево - это дерево с колонками:
Тег - имя тега
Тело - тело тега
Атрибуты – соответствие: в ключах - имена атрибутов, в значениях - значения атрибутов.
Тип - пустая колонка, зарезервирована
Вы можете обработать дерево и записать полученный результат в файл.
А можно просто создать структуру с такой же структурой и программно заполнить дерево нужной структурой XML:
П = Новый Структура();
П.Вставить("Кодировка", Ч.КодировкаИсточника);
Дерево = Новый ДеревоЗначений();
Дерево.Колонки.Добавить("Тег");
Дерево.Колонки.Добавить("Тело");
Дерево.Колонки.Добавить("Атрибуты");
Дерево.Колонки.Добавить("Тип");
П.Вставить("Дерево", Дерево);
Чтобы записать дерево в XML строку, используется код вида:
З = Новый ЗаписьXML;
З.УстановитьСтроку(П.Кодировка);
___обСобратьXML(П, З);
РезСтрока = З.Закрыть();
Чтобы записать дерево в XML файл, используется код вида:
З = Новый ЗаписьXML;
З.ОткрытьФайл(ИмяФайла);
___обСобратьXML(П, З);
З.Закрыть();
В обработке для примера файл разбирается, а затем собирается. Можно посмотреть на различия после разборки-сборки.
Вступайте в нашу телеграмм-группу Инфостарт