从php页面创建XML文档

时间:2015-01-11 22:44:41

标签: php xml

我有以下代码显示xml页面,如URL“ourcustomersdb.php”。我需要使用以'ourcustomers.xml'结尾的URL显示相同的信息。 (希望有意义)

我的代码有效,但我需要最后一行代码来创建xml文档:

<?php
header ("Content-Type:text/xml");//Tell browser to expect xml
include ("config/init.php");
$query = "SELECT * FROM ourcustomers"; 
$result = mysqli_query($mysqli_conn, $query) or die ("Error in query: $query. ".mysql_error()); 
//Top of xml file
$_xml = '<?xml version="1.0"?>'; 
$_xml .="<ourcustomers>"; 
while($row = mysqli_fetch_array($result)) { 
$_xml .="<ourcustomer>"; 
$_xml .="<id>".$row['id']."</id>"; 
$_xml .="<customer>".$row['customer']."</customer>"; 
$_xml .="<work_done>".$row['work_done']."</work_done>"; 
$_xml .="</ourcustomer>"; 
} 
$_xml .="</ourcustomers>"; 
//Parse and create an xml object using the string
$xmlobj=new SimpleXMLElement($_xml);
//output
//print $xmlobj->asXML();
//write to a file
$xmlobj->asXML(ourcustomers.xml);
?>

似乎不起作用的行是$ xmlobj-&gt; asXML(ourcustomers.xml)。我需要这个来从数据库中收集信息来创建XML文件。如果我留在最后一个打印注释中它显示XML但是在页面mycustomersdb.php上,但是我需要将它显示在ourcustomers.xml上(希望这是有意义的!)。有人可以解释为什么这是我第一次尝试这样做,所以我还没有完全理解它。

任何帮助都会很棒!

1 个答案:

答案 0 :(得分:1)

您需要在引号中包含ourcustomers.xml,以便它是一个字符串。否则,您将收到语法错误。

$xmlobj->asXML('ourcustomers.xml');

此外,您不必使用SimpleXMLElement来编写XML文件,只需使用file_put_contents即可。

file_put_contents('ourcustomers.xml', $_xml);