通过PHP获取MySQL数据库输出到XML

max*_*ax_ 12 php xml mysql

我的网站上有一个MySQL数据库,我想知道如何通过表格中的以下列的PHP获取XML输出:

  1. 你做了
  2. 国家

Cze*_*ogy 32

XMLWriter的一个例子.

mysql_connect('server', 'user', 'pass');
mysql_select_db('database');

$sql = "SELECT udid, country FROM table ORDER BY udid";
$res = mysql_query($sql);

$xml = new XMLWriter();

$xml->openURI("php://output");
$xml->startDocument();
$xml->setIndent(true);

$xml->startElement('countries');

while ($row = mysql_fetch_assoc($res)) {
  $xml->startElement("country");

  $xml->writeAttribute('udid', $row['udid']);
  $xml->writeRaw($row['country']);

  $xml->endElement();
}

$xml->endElement();

header('Content-type: text/xml');
$xml->flush();
Run Code Online (Sandbox Code Playgroud)

输出:

<?xml version="1.0"?>
<countries>
 <country udid="1">Country 1</country>
 <country udid="2">Country 2</country>
 ...
 <country udid="n">Country n</country>
</countries>
Run Code Online (Sandbox Code Playgroud)


krt*_*tek 8

<?php

mysql_connect('myserver', 'username', 'password');
mysql_select_db('mydatabase');
$result = mysql_query('SELECT `udid`, `country` FROM `MyTable`');

while($data = mysql_fetch_assoc($result)) {
  foreach($data as $key => $value) {
    echo "<$key>$value</$key>";
  }
}

?>
Run Code Online (Sandbox Code Playgroud)

此代码段应该为您提供良好的开端.但是如果没有想要的XML结构,就很难做得更好.

但是我不确定PHP是否适合这项任务.许多工具,例如phpmyadmin,可以输出XML格式的mysql数据.