如何将XML字符串回显到HTML页面进行调试?

时间:2011-11-11 20:24:06

标签: php xml debugging escaping

好的,所以我有一个PHP脚本,我需要以某种方式查看我的一个变量的值。问题是这个变量是一个从服务器返回的非常长的XML字符串。我知道它有一条错误信息,但我需要实际看到它的含义。如果我尝试打印或回显该值,它只显示一个部分后跟一个...或者如果我使用var_dump它也会这样做。我甚至尝试用值回显javascript警报,但失败了因为xml中有单引号和双引号导致警报引号无法正确识别。我只需要看到这个变量的值。有什么建议?感谢。

编辑: 其实说错了。回声和打印不能正确显示值,因为标签位于<>中。括号,因此它被识别为html标记。

6 个答案:

答案 0 :(得分:14)

您可以使用htmlentities输出XML字符串,以便在浏览器中获得它的纯文本视图。

<?php echo htmlentities( $xml_string); ?>

或者,您可以解析XML字符串以显示错误消息,但这可能比您需要的更复杂。

答案 1 :(得分:5)

尝试echo htmlentities($var, ENT_COMPAT, 'UTF-8')

答案 2 :(得分:3)

试试这个:

echo '<pre>'.$xml_string.'</pre>';

另见: CDATA - (Unparsed) Character Data

答案 3 :(得分:3)

我总是使用这个:

echo "<pre>". htmlentities($s) . "</pre>";

答案 4 :(得分:1)

我通常使用:

echo nl2br(str_replace('<', '&lt;', $xml));

仅作为&lt;这是一个问题

答案 5 :(得分:0)

您可以将XML字符串保存到文件中。如果它是格式良好的XML,您可以使用每个浏览器查看它(并展开/折叠节点^^)。