从 mysql 创建 xml 文件

Create xml file from mysql

发现这个脚本几乎可以满足我的要求;但不是一路走来。

$dom = new DOMDocument;
$dom->preserveWhiteSpace = FALSE;

$table = $dom->appendChild($dom->createElement('incidents'));

foreach($result as $row) {
$data = $dom->createElement('incident');
$table->appendChild($data);

foreach($row as $name => $value) {

    $col = $dom->createElement('column', $value);
    $data->appendChild($col);
    $colattribute = $dom->createAttribute('name');

    $colattribute->value = $name;
    $col->appendChild($colattribute);

它现在给出 xml 结果:

<column name="id"> and </column>

我希望这是

<id> and </id> 

我需要更改什么?我已经尝试了所有我能想到的选项。

这只是中间部分。其余似乎工作正常。

提前致谢!

function createElement 正是这样做的 - 创建新元素。
第一个参数将是您的元素的名称(在您的例子中 - column):

$col = $dom->createElement('column', $value);

如果你想要一个名为 id 的元素,你应该使用 id 作为元素的名称:

$col = $dom->createElement('id', $value);

更新 - 更好的解释:

函数createElement有2个参数。第一个参数是标签的名称,第二个参数是标签的内容
这意味着如果您这样做:

$col = $dom->createElement('ThisIsMySpecialTagName', 'ValueValueValue');

你会得到

<ThisIsMySpecialTagName>ValueValueValue</ThisIsMySpecialTagName>

你可以在 first 参数中输入任何你想要的标签名称(介于 <> 之间的东西)和第二个参数是标签的内容(开始和结束标签之间的内容)。