根据this answer,可以回显格式化的xml。然而这个PHP代码:
$xml = new SimpleXMLElement("<?xml version=\"1.0\" encoding=\"utf-8\" ?><data></data>");
$xml->addChild("child1", "value1");
$xml->addChild("child2", "value2");
$dom = new DOMDocument('1.0');
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;
$dom->loadXML($xml->asXML());
echo $dom->saveXML();
输出value1 value2
那么现在如何正确格式化呢?
答案 0 :(得分:1)
要回显格式化的XML(或HTML),您必须使用htmlentities
内置函数,“将所有适用的字符转换为HTML实体”。
在你的情况下:
echo htmlentities($dom->saveXML());
将输出:
<?xml version="1.0" encoding="utf-8"?> <data> <child1>value1</child1> <child2>value2</child2> </data>
将它与<pre>
html标签一起使用,还会打印换行符和空格:
echo '<pre>' . htmlentities($dom->saveXML()) . '</pre>';
将输出:
<?xml version="1.0" encoding="utf-8"?>
<data>
<child1>value1</child1>
<child2>value2</child2>
</data>