. Создание xml документа средствами PHP 5 | Makarou.com - когда сайты превращаются в бизнес

Создание xml документа средствами PHP 5

Создание xml документа средствами PHP5Приветствую всех читателей! Сегодня я продолжу рассказывать про расширение SimpleXML, которое существует в PHP5. В прошлой статье мы рассматривали функции для чтения данных из xml документа средствами PHP5. А вот сегодня, я расскажу, как формируется и происходит с помощью php создание xml документа.

И так, приступим.

В php xml файлы создаются с помощью DOM функций, которые создают дерево объектов, в точности повторяющее дерево элементов XML документа. Так как DOM строит дерево всего документа, то и ресурсов он кушает немало (памяти и процессора он потребляет достаточно). Для создания  XML документа используется класс – DomDocument, больше на http://makarou.com/chtenie-dannyh-iz-xml-dokumenta-sredstvami-php5 .

Вот как выглядит объявление этого класса:


$xml=new DomDocument('1.0','utf-8');

Класс принимает два параметра. Первый – версия XML документа. Второй параметр – кодировка этого документа. Хотя, второй параметр является необязательным.

Далее нам надо создать корень документа. Для этого мы используем функцию appendChild. Эта функция помещает объект в конец XML документа. Также мы используем функцию createElement, которая создает новый элемент.

Пример создания корня документа:

$sorts = $xml->appendChild($xml->createElement('sorts'));

Как видно из примера, функция создает корень документа с названием – sorts. Например, пусть это будет группа товаров.

Дальше мы добавим новый объект, в корень документа (то есть в родительский объект). Для этого мы также будем использовать те же функции.

Пример добавления объекта в корень:

$sort = $sorts->appendChild($xml->createElement('sort'));

Как видно из примера, мы добавили новый объект с названием – sort в объект sorts. То есть, мы добавили новый товар, в группу товаров.

Теперь мы добавим еще один объект, но уже в предыдущий объект, то есть в sort. Например, это будет название товара.

Пример добавления объекта в другой объект:

$name = $sort->appendChild($xml->createElement('name'));

Как видно из примера, мы добавили новый объект с названием – name в объект sort. То есть, добавили название товара.

Дальше мы добавим текст в объект name. Для этого мы будем использовать функцию createTextNode, которая добавляет текст в объект.

Пример добавления текста в объект:

$name->appendChild($xml->createTextNode('Яблоко'));

Как видно из примера, мы добавили текст в объект name. То есть, добавили название товара.

Теперь нам осталось только сгенерировать наш документ и создать xml файл. Для этого мы используем функцию save.

Пример  создания XML документа:

$xml->formatOutput = true; #-> устанавливаем выходной формат документа в true
$xml->save('goods.xml');   #-> сохраняем файл

Вот полный кусок кода:

$xml=new DomDocument('1.0','utf-8');
$sorts = $xml->appendChild($xml->createElement('sorts'));
$sort = $sorts->appendChild($xml->createElement('sort'));
$name = $sort->appendChild($xml->createElement('name'));
$name->appendChild($xml->createTextNode('Яблоко'));
$xml->formatOutput = true;
$xml->save('goods.xml');

На выходе мы получим XML документ, с таким содержанием:

<?xml version="1.0" encoding="utf-8"?>
<sorts>
  <sort>
    <name>Яблоко</name>
  </sort>
</sorts>

Надеюсь, всем было все понятно из сегодняшнего урока. Если есть вопросы, задавайте, отвечу на них с удовольствием. ;)

Постовой

Каждый второй человек на земле владеет мобильным телефоном, а то и больше. Бывают случаи, когда телефон ломается. Это может быть дисплей, плата, шлейф и т.д. Например, ремонт дисплея обойдется Вам не так дорого как, например, ремонт шлейфа или платы.

php

Понравился пост? добавь его к себе в закладки:
Хочешь быть всегда в курсе обновлений блога? подписывайся через: