PHP - 格式化XML输出

时间:2015-11-02 04:12:14

标签: php xml

我正在生成一些XML数据以响应HTTP POST请求。我设置了MIME

header('Content-type: text/xml');

到目前为止一切运转良好。

我按如下方式生成xml响应:

 $response = '<?xml version="1.0" encoding="utf-8"?>';
 $response .= '<error>';
 $response .= '<description>'.$error.'</description>';
 $response .= '</error>';
 echo $response;

我现在想要格式化XML,而不是看到这个响应:

<?xml version="1.0" encoding="utf-8"?><error><description>Login Error: No Username Supplied</description></error>

他们看到了这个回应:

<?xml version="1.0" encoding="utf-8"?>
 <error>
    <description>Login Error: No Username Supplied</description>
 </error>

我还没有使用过PHP的XML输出,所以不确定是否有一个内置的方法来进行&#34;漂亮的打印&#34;输出上的类型函数?

1 个答案:

答案 0 :(得分:0)

使用DOM库并将formatOutput属性设置为true

$doc = new DOMDocument('1.0', 'utf-8');
$doc->formatOutput = true;

$root = $doc->createElement('error');
$doc->appendChild($root);

$desc = $doc->createElement('description', $error);
$root->appendChild($desc);

echo $doc->saveXML();

演示〜https://eval.in/461384