Вам необходимо добавить этот узел после того, как вы закончите его создание:
<?php
$arr = [
[
'id' => 1,
'title' => 'title 1',
'latitude' => '1.1',
'longitude' => '2.1'
],
[
'id' => 2,
'title' => 'title 2',
'latitude' => '1.2',
'longitude' => '2.2'
],
];
$dom = new DOMDocument('1.0','utf-8');
$parnode = $dom->createElement("listings");
while ($row = array_shift($arr)){
// Add to XML document node
$newnode = $dom->createElement("listing");
$newnode->setAttribute("id",$row['id']);
$newnode->setAttribute("title",$row['title']);
$newnode->setAttribute("latitude",$row['latitude']);
$newnode->setAttribute("longitude",$row['longitude']);
$parnode->appendChild($newnode);
}
$dom->appendChild($parnode);
echo $dom->saveHTML();
Вывод:
<listings>
<listing id="1" title="title 1" latitude="1.1" longitude="2.1"></listing>
<listing id="2" title="title 2" latitude="1.2" longitude="2.2"></listing>
</listings>
Демо
FYI, Вы не должны использовать функции mysql_*
в новом коде .Они устарели с версии 5.5 (июнь 2013 г.) и удалены с версии 7.0 (декабрь 2015 г.).Видите красное поле ?Узнайте о подготовленных утверждениях и используйте PDO или MySQLi - , эта статья поможет вам решить, какая из нихлучше для вас.
Кроме того, не используйте оператор подавления ошибок (@
), поскольку он скрывает сообщения об ошибках, которые могут быть полезны при отладке вашего кода.Вы также должны всегда писать свой код, чтобы он не генерировал никаких ошибок PHP, включая уведомления.