はじめまして!!

現在、MySQLに格納されている緯度・経度のデータを取り出し、Google MapのXMLフォーマットにDOMを使用し出力したいと考えております。

そこで以下のコードを書いてみたのですが、上手くいきません。

もし何かご存知の方は、是非ご教授ください!!

ちなみにデータベースを介さず、単純に以下のコードにデータを打ち込むやり方だと上手くいったので、問題はデータベース絡みの部分だと考えています。

よろしくお願い申し上げます。

<?php

// インスタンスの生成
$dom = new DomDocument('1.0', 'UTF-8');
// prefs ノードを追加
$root = $dom->appendChild($dom->createElement('root'));
$MarkerData = $root->appendChild($dom->createElement('MarkerData'));

    try
    {
// データベースへのアクセス・データの取り出し       
        $dsn='mysql:dbname=略;host= 略;charset=utf8';
        $user='略';
        $password='略';
        $dbh=new PDO($dsn,$user,$password);
        $dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);

        $sql='SELECT lat, lng, FROM maps ';
        $stmt=$dbh->prepare($sql);
        $stmt->execute();

        while($rec=$stmt->fetch(PDO::FETCH_ASSOC))
        {

$marker = $MarkerData->appendChild($dom->createElement('marker'));
$marker->setAttribute('lat', $rec['lat']);
$marker->setAttribute('lng', $rec['lng']);
$marker->appendChild($dom->createElement('icon', 'atlas'));

    }
    $dbh=null;
    }catch(PDOException $e)
    {
        die("No!");
    }

//XML を整形(改行・字下げ)して出力
$dom->formatOutput = true;
//保存(上書き)
$dom->save('maps.xml');

?>

Google MapsでのXMLフォーマットは以下のようになります。

<?xml version="1.0" encoding="utf-8"?>
<root>
  <MarkerData>
//①
    <marker lat="35.507456" lng="139.61758499999996">
      <icon>atlas</icon>
    </marker>
//② ①~②を繰り返すことで複数表示

  </MarkerData>
</root>