我想添加/显示来自数据库的查询数据并将其添加到XML文件中。 例如,我有一个table_persons,它有一个名字和年龄。我创建一个mysql查询来获取它的名称和年龄。然后简单地将数据(人员的姓名和年龄)放入XML文件中。
你会怎么做?或者有可能吗?
答案 0 :(得分:0)
我建议您使用DomDocument和file_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+
告诉它打开它以便在写入时读取,将指针放在文件的末尾。
祝你好运。