将数组写入xml文件

时间:2012-04-30 01:45:15

标签: php xml arrays

//this is the code that creates the array and the output follows
while ($results_row = mysql_fetch_assoc($results)) {
        $returned_results[]= array(
                                    'partName'=>$results_row['partName'],
                                    'description'=>$results_row['description'],
                                    'price'=>$results_row['price']

//what is contained in the array is as follows
Array
(
[partName] => Cooler Master CM Storm Trooper Case
[description] => Armored appearance. Nicely placed handle at the top. At the front; ext
[price] => 36000
)
1

Array
(
[partName] => Cooler Master eXtreme Power Plus 500-Watt
[description] => Power Plus 500-Watt Power Supply,many SATA and peripheral connectors. 
[price] => 23000
)
1

Array
(
[partName] => Coolmax M-500B ATX Power Supply
[description] => The Coolmax M-500B ATX Power Supply has 5 SATA and 5 Peripheral, 8 pin
[price] => 20000
)

我需要将数组变量($ returned_results [])中包含的数据写入xml文件。之后,我将在xml表中显示它。但我想我可以管理后者。你能帮我一个代码示例吗?请&谢谢!!

xml文件应该包含看起来像这样的数组数据

<?xml version="1.0" encoding="utf-8"?>
     <results>
           <partName>Cooler Master CM Storm Trooper Case</partName>
           <description>Armored appearance. Nicely placed handle at the top. At the front; ext... </description>
           <price>36000</price>
     </results>
     <results>
            <partName>Cooler Master eXtreme Power Plus 500-Watt</partName>
            <description>Power Plus 500-Watt Power Supply,many SATA and peripheral connectors. ... </description>
             <price>23000</price>
    </results
    <results>
            <partName>Coolmax M-500B ATX Power Supply </partName>
            <description>The Coolmax M-500B ATX Power Supply has 5 SATA and 5 Peripheral, 8 pin..</description>
             <price>20000</price>
    </results>

2 个答案:

答案 0 :(得分:0)

使用fwrite()。例如:

$filecontents = file_get_contents ("file.xml");
$file = fopen(file.xml, w+);
//If you uncomment the next line, it will keep the current contents, if not it will overwrite it
//fwrite($file, $filecontents);
fwrite($file, $string/array-to-write);
fclose($file);

答案 1 :(得分:0)

您可以使用PHP本身(而不是echofwrite等)来编写XML。

ob_start();
?>
<?xml version="1.0" encoding="utf-8"?>
<?php
while ($results_row = mysql_fetch_assoc($results)) {
?>
<results>
    <partName><?php echo htmlspecialchars($results_row['partName']);?></partName>
</results>
<?php
}

file_put_contents('file.xml', ob_get_clean());