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