XMLでこんなの作りたい。
[ 環境 ]
OS:WindowsXP Pro
PHP:5.3.1
Apache:2.2.14
DBServer:SQLServer2005 EXPRESS
[ 質問 ]
DB側データ
row,level,level_name
0,level1,root
1,level2,admin
という様なデータをXMLにて以下の様な表示にしたい。
<?xml version="1.0" encoding="UTF-8" ?>
<result>
<row row="0">
<level>level1</level>
<level_name>root</level_name>
</row>
<row row="1">
<level>level2</level>
<level_name>admin</level_name>
</row>
</result>
この場合、以下のソースをどの様に変更したら良いか
アドバイスを頂けたらと思います。
<?php
// SQLServerとの接続
require("connect-sqlserver.php");
// XML 生成
$dom = new DOMDocument("1.0");
$node = $dom->createElement("result");
$parnode = $dom->appendChild($node);
// MSSQLSERVR への接続セット
$db = mssql_connect($server, $userid, $passwd);
mssql_select_db($dbName, $db);
// [SYSW_LEVEL]テーブルからフィールド情報取得
$query = "SELECT * FROM SYSW_LEVEL";
$res = mssql_query($query, $db);
header("Content-type: text/xml");
// XMLへフィールドの値を渡す
while ($row = mssql_fetch_assoc($res))
{
$node = $dom->createElement("row");
$newnode = $parnode->appendChild($node);
$newnode->setAttribute("level", $row['LVL_LEVEL']);
$newnode->setAttribute("level_name", mb_convert_encoding($row['LVL_LEVELNAME'],'UTF-8','CP932'));
}
$dom->encoding="UTF-8";
echo $dom->saveXML();
?>
以上、よろしくお願い致します。