XmlWriter
Описание и методы
XmlWriter - класс для экспорта в XML
Метод | Описание | С версии |
---|---|---|
construct | Метод - конструктор | |
writeItem | Метод записывает один блок в xml файл. | |
writeFullTag | Метод записывает полный тег в файл. | |
writeEndTag | Метод записывает конец тега в файл. | |
writeBeginTag | Метод начинает запись тега в файл. | |
openFile | Метод открывает файл для записи и начинает XML запись. | |
getErrors | Метод возвращает ошибку. | |
closeFile | Метод закрывает открытый файл. |
Примеры
$export = new \Bitrix\Main\XmlWriter(array( 'file' => '<относительный путь, куда пишем>', 'create_file' => true, 'charset' => SITE_CHARSET, 'lowercase' => true //приводить ли все теги к нижнему регистру (для педантов) )); //открываем файл $export->openFile(); //обрамляем массив тегом $export->writeBeginTag('items'); //получаем в выборке элемент - заметьте, вложенность поддерживается $test = array( 'name' => 'Tra & tata', 'Timе' => time(), 'array' => array( 'one' => 1, 'two' => 2, 'subarray' => array( 't1' => 1, 't2' => 2 ) ) ); //пишем тег (элемент выше) $export->writeItem($test, 'item'); //вторым параметром мы передаем обрамляющий тег для этого массива, это то же самое, что и $export->writeItem(array('item' => $test)); //словили ли ошибки //$export->getErrors() //закрываем массив тегом $export->writeEndTag('items'); //закрываем файл $export->closeFile();
Удобство класса в возможности пошаговой записи в файл. Например, у вас идет экспорт и вы пишите большой массив данных из базы в файл. Вот переписанный пример выше для реализации пошагового алгоритма (отличия помечены (***)).
$export = new \Bitrix\Main\XmlWriter(array( 'file' => '<относительный путь, куда пишем>', 'create_file' => $step == 0,//создаем файл только на первом шаге (***) 'charset' => SITE_CHARSET, 'lowercase' => true //приводить ли все теги к нижнему регистру )); //открываем файл $export->openFile(); //обрамляем массив тегом (***) if ($step == 0) { $export->writeBeginTag('items'); } //пишем тег (элемент выше) (***) - вот сюда мы возвращаем раз за разом на каждом хите мастера $export->writeItem($test, 'item'); //закрываем массив тегом (***) if ($step == 0) { $export->writeEndTag('items'); } //закрываем файл $export->closeFile();
Сообщение не промодерировано, возможны ошибки и неточности.
|
||
| ||
Низамиддин Нажмиддинов
|
Хамиджон Имомов
|
Класс XMLWriter для экспорта данных в XML файл в 1С-Битрикс.
|
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.