将php / mysql查询中的数据添加到XML文件中

时间:2012-04-20 04:12:03

标签: php mysql xml wordpress

我想添加/显示来自数据库的查询数据并将其添加到XML文件中。 例如,我有一个table_persons,它有一个名字和年龄。我创建一个mysql查询来获取它的名称和年龄。然后简单地将数据(人员的姓名和年龄)放入XML文件中。

你会怎么做?或者有可能吗?

2 个答案:

答案 0 :(得分:0)

我建议您使用DomDocumentfile_put_contents来创建XML文件。

这样的事情:

// Create XML document
$doc = new DomDocument('1.0', 'UTF-8');

// Create root node
$root = $doc->createElement('persons');
$root = $doc->appendChild($root);

while ($row = mysql_fetch_assoc($result)) {
    // add node for each row
    $node = $doc->createElement('person');
    $node = $root->appendChild($node);

    foreach ($row as $column => $value) {
        $columnElement = $doc->createElement($column);
        $columnElement = $node->appendChild($columnElement);

        $columnValue = $doc->createTextNode($value);
        $columnValue = $columnElement->appendChild($columnValue);
    }
}

// Complete XML document
$doc->formatOutput = true;
$xmlContent = $doc->saveXML();

// Save to file
file_put_contents('persons.xml', $xmlContent);

答案 1 :(得分:-1)

<?php
[snip] //database code here

$f = fopen('myxml.xml', 'a+');
foreach($row = mysqli_fetch_assoc($resultFromQuery))
{
    $str = "<person>
        <name>{$row['name']}</name>
        <age>{$row['age']}</age>
    </person>\n";
    fwrite($f, $str);
}
fclose($f);
?>

假设您使用mysqli,此代码有效。如果没有,适合。在fopen函数调用中,a+告诉它打开它以便在写入时读取,将指针放在文件的末尾。

祝你好运。