Как на php выгрузить список заказов в xml файл, virtuemart?

01.2018
Пример создания файла xml на php. Как на php выгрузить список заказов в xml файл,  Joomla, virtuemart, mysql?
<?php
$xml=new DomDocument('1.0','utf-8');
echo 'start';
$mysqli = new mysqli("localhost", "login    ", "123", "name");
if ($mysqli->connect_errno) {
    echo "Не удалось подключиться к MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

$res = $mysqli->query("SELECT * FROM `z98g0_virtuemart_orders`"); запрос к таблице заказов

$spisokzakazov = $xml->appendChild($xml->createElement('spisokzakazov'));
$valid_attr = $xml->createAttribute('xmlns');
$valid_attr->value = 'drakosha';
$spisokzakazov->appendChild($valid_attr);
$valid_attr = $xml->createAttribute('xmlns:xs');
$valid_attr->value = 'http://www.w3.org/2001/XMLSchema';
$spisokzakazov->appendChild($valid_attr);
$valid_attr = $xml->createAttribute('xmlns:xsi');
$valid_attr->value = 'http://www.w3.org/2001/XMLSchema-instance';
$spisokzakazov->appendChild($valid_attr);

while ($row = $res->fetch_assoc()) { цикл который выводить список заказов
    echo " id = " . $row['order_number'] . "\n";

$zakaz = $spisokzakazov ->appendChild($xml->createElement('zakaz'));

$zakaz_id = $zakaz->appendChild($xml->createElement('zakaz_id'));
$zakaz_id->appendChild($xml->createTextNode($row['order_number']));
$zakaz->appendChild($zakaz_id);
$zakaz_data = $zakaz->appendChild($xml->createElement('zakaz_data'));
$zakaz_data->appendChild($xml->createTextNode(str_replace(" ", "T", $row['created_on'])));
$zakaz->appendChild($zakaz_data);

$res2 = $mysqli->query("SELECT * FROM `z98g0_virtuemart_userinfos` where virtuemart_user_id = ".$row['virtuemart_user_id']);
$row2 = $res2->fetch_assoc();
$zakaz_kontragent = $zakaz->appendChild($xml->createElement('zakaz_kontragent'));
$zakaz_kontragent->appendChild($xml->createTextNode($row2['name']));
$zakaz->appendChild($zakaz_kontragent);

$zakaz_kontragent_telefon = $zakaz->appendChild($xml->createElement('kontragent_telefon'));
$zakaz_kontragent_telefon->appendChild($xml->createTextNode("89181111111"));
$zakaz->appendChild($zakaz_kontragent_telefon);

$zakaz_kontragent_email = $zakaz->appendChild($xml->createElement('kontragent_email'));
$zakaz_kontragent_email->appendChild($xml->createTextNode("123@mail.ru"));
$zakaz->appendChild($zakaz_kontragent_email);

$res3 = $mysqli->query("SELECT * FROM `z98g0_virtuemart_order_items` WHERE virtuemart_order_id =".$row['virtuemart_order_id']);



while ($row3 = $res3->fetch_assoc()) { Вывод списка товаров 
$tovar = $zakaz->appendChild($xml->createElement('product'));
$name = $tovar->appendChild($xml->createElement('product_name'));
$valid_attr = $xml->createAttribute('xsi:type');
$valid_attr->value = 'xs:string';
$name->appendChild($valid_attr);
$kolvo = $tovar->appendChild($xml->createElement('product_quantity'));
$summa = $tovar->appendChild($xml->createElement('product_sum'));
$product_id = $tovar->appendChild($xml->createElement('product_id'));
$valid_attr = $xml->createAttribute('xsi:type');
$valid_attr->value = 'xs:string';
$product_id->appendChild($valid_attr);
$name->appendChild($xml->createTextNode($row3['order_item_name']));
$kolvo->appendChild($xml->createTextNode($row3['product_quantity']));
$summa->appendChild($xml->createTextNode($row3['product_subtotal_with_tax']));
$product_id->appendChild($xml->createTextNode($row3['order_item_sku']));
}
}
$xml->formatOutput = true;
$xml->save('zakaz.xml'); xml файл сохраняется на сервере в той же папке, где сохранен этот скрипт
echo 'done';

?>