Вот что я намутил:
<?php
require("phpsqlajax_dbinfo.php");
// Opens a connection to a MySQL server
$connection=mysql_connect ('localhost', $username, $password);
if (!$connection) {
die('Not connected : ' . mysql_error());
}
// Set the active MySQL database
$db_selected = mysql_select_db($database, $connection);
if (!$db_selected) {
die ('Can\'t use db : ' . mysql_error());
}
// Select all the rows in the marker table
$query = "SELECT * FROM markers WHERE 1";
$result = mysql_query($query);
if (!$result) {
die('Invalid query: ' . mysql_error());
}
$doc = new DOMDocument('1.0', "UTF-8");
$root = $doc->createElement('markers'); // создаю родительский элемент
while ($row = @mysql_fetch_assoc($result)){
$marker = $doc->createElement('marker');
$attr1 = $doc->createAttribute('id'); // атрибуты прописываю практически вручную
$attr1->value = $row['id'];
$marker->appendChild($attr1);
$attr2 = $doc->createAttribute('name');
$attr2->value = $row['name'];
$marker->appendChild($attr2);
$attr3 = $doc->createAttribute('address');
$attr3->value = $row['address'];
$marker->appendChild($attr3);
$attr4 = $doc->createAttribute('lat');
$attr4->value = $row['lat'];
$marker->appendChild($attr4);
$attr5 = $doc->createAttribute('lng');
$attr5->value = $row['lng'];
$marker->appendChild($attr5);
$root->appendChild($marker); // помещаю все в <markers>
}
$doc->appendChild($root);
$doc->save("geomarkers.xml") // и сохраняю это дерьмо
?>
Думаю очевидно почему мне не нравится это решение...
Прошу помочь найти хорошее решение, или хотя бы усовершенствовать это. Спасибо.