2012-03-12 25 views
0

我想在不使用<br/>的情况下在新行上打印xml文档的每个元素。使用 n打印xml节点时出错 n

这是我正在使用的代码,但它跳过了“\ 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"; 
    } 
?> 

所需的输出:

 
Address 
to: James 
from: Jani 
heading: Reminder 
body: Please check your mail. 
+1

如果你是在找这网页浏览器,它会跳过新行,除非你不发送内容类型文本/纯文本标题 – 2012-03-12 10:03:19

+0

所以,我做的是正确的?除了浏览器不显示它正确吗?我如何发送内容类型文本/普通标题 – 2012-03-12 10:08:20

回答

0

既然你不想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 } 
+0

不,使用PHP即时通讯。 – 2012-03-12 10:12:03

+0

@hina_naaz我的意思是“因为你正在使用PHP编写HTML”。标题注释是PHP,而示例HTML是您使用PHP编写的内容。无论如何,我编辑了我的答案。 – 2012-03-12 10:14:15

+0

嘿,谢谢它解决了这个问题!我应该早点提出问题!在这个问题上,我的头很长!thnx – 2012-03-12 10:14:51