在PHP中创建XML输出

时间:2014-01-31 18:03:32

标签: php xml

我正在尝试在PHP中为IP电话上的远程电话簿创建XML文件输出,这是我的代码:

<?php
$conn=mysql_connect("localhost","user","********");
mysql_select_db("db_name",$conn);

header("Content-Type: text/xml");
header("Connection: close");
header("Expires: -1");
?>

<YealinkIPPhoneDirectory>
<?php
$output='<YealinkIPPhoneDirectory>\n';
$sql="SELECT * from contacts ";
$rs=mysql_query($sql,$conn);
while($result=mysql_fetch_array($rs)) {
    $output .= "<DirectoryEntry>\n";
    $output .= "<Name>Mobile:</Name>\n";
    $output .= "<Telephone>" . $result["mobile"] . "</Telephone>\n";
    $output .= "</DirectoryEntry>\n";
}
$output='</YealinkIPPhoneDirectory>\n';

echo '$output';
?>

但我收到此错误消息:

This page contains the following errors:

error on line 3 at column 8: Extra content at the end of the document
Below is a rendering of the page up to the first error.

$output

2 个答案:

答案 0 :(得分:2)

<?php

$conn=mysql_connect("localhost","user","********");
mysql_select_db("db_name",$conn);

header("Content-Type: text/xml");
header("Connection: close");
header("Expires: -1");

$output = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
$output .= '<YealinkIPPhoneDirectory>\n';
$sql="SELECT * from contacts ";
$rs=mysql_query($sql,$conn);
while($result=mysql_fetch_array($rs)) {
    $output .= "<DirectoryEntry>\n";
    $output .= "<Name>Mobile:</Name>\n";
    $output .= "<Telephone>" . $result["mobile"] . "</Telephone>\n";
    $output .= "</DirectoryEntry>\n";
}
$output.='</YealinkIPPhoneDirectory>';

echo $output;

?>

答案 1 :(得分:0)

您需要删除此行:

echo '$output';

并将其替换为:

echo $output;

以下是一个示例:

https://eval.in/96740

请注意单引号值是如何回显的,因此您确实将$output视为输出。