从mysql创建xml文件

时间:2016-10-25 17:07:21

标签: php mysql xml xmldom

找到这个脚本几乎可以做我想要的东西;但不是一直都是。

$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> 

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

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

提前致谢!

1 个答案:

答案 0 :(得分:0)

function createElement正是这样做 - 创造新元素 第一个参数是元素的名称(在您的情况下 - ):

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

如果您想拥有名称为id的元素,则应使用id作为元素的名称:

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

更新 - 更好的解释:

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

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

你会得到

<ThisIsMySpecialTagName>ValueValueValue</ThisIsMySpecialTagName>

您可以输入第一个参数,无论您想要标记的名称(<>之间的内容)和 second < / strong>参数是标记的内容(开始标记和结束标记之间的内容)。