我想從數據庫查詢中添加/顯示數據並將其添加到XML文件中。 例如,我有一個名字和年齡有關的table_persons。我創建了一個mysql查詢來獲取它的名字和年齡。然後只需將數據(人員的姓名和年齡)放入一個XML文件中即可。將php/mysql查詢中的數據添加到XML文件中
你會怎麼做?或者可能嗎?
我想從數據庫查詢中添加/顯示數據並將其添加到XML文件中。 例如,我有一個名字和年齡有關的table_persons。我創建了一個mysql查詢來獲取它的名字和年齡。然後只需將數據(人員的姓名和年齡)放入一個XML文件中即可。將php/mysql查詢中的數據添加到XML文件中
你會怎麼做?或者可能嗎?
<?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+
通知它在寫入時打開它進行讀取,將指針放在文件末尾。
祝你好運。
你需要逃避你的價值! – 2012-04-20 05:06:54
我建議你使用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);
http://php.net/fopen http://php.net/fwrite http://php.net/file_put_contents – 2012-04-20 04:19:09