使用打印xml节点时出错


Error printing xml nodes using

我想在不使用<br/>的情况下将xml文档的每个元素打印到新行中。

这是我正在使用的代码,但它跳过了"''n"。请帮助

<?php
$xmlstr= '<Address><to>James</to><from>Jani</from><heading>Reminder</heading><body>Please check your mail.</body></Address>' ;     
$xml = simplexml_load_string($xmlstr);
echo $xml->getName() . "'n";
foreach($xml->children() as $child)
  {
  echo $child->getName() . ": " . $child . "'n";
  }
?>

所需输出:

住址收件人:James发件人:Jani标题:提醒正文:请查收你的邮件。

既然你不想要HTML,只需遵循@Darhazer的建议,在回显任何内容之前写下以下内容:

header("Content-Type: text/plain");

然后浏览器会将文本解释为纯文本。


我假设你在这里使用HTML。您在这里面临的问题是空白在HTML中没有意义。您的标记会影响它的渲染方式

这看起来很像一个无序的列表,所以这可能是一种方法。只需将每一行封装到<li>中,然后添加CSS,就不会显示项目符号:

HTML:

<ul class="mail">
    <li>to: James</li>
    <li>from: Jani</li>
    <li>heading: Reminder</li>
    <li>body: Please check your mail</li>
</ul>

CSS:

ul.mail { list-style-type: none }