解析XML -换行,回车??我# 39;m困惑


Parsing XML - line feed, carriage return??? I'm confused?

好的,我已经搜索了大约3个小时,并决定发布这个。我正在拉一个XML提要,并有一个XML元素,其中有一堆文本创建一个段落。当我查看源代码时,我看到它被回车破坏了(正如标题中提到的,不确定这是否正确)。

这是我从:http://jobs.cbizsoft.com/cbizjobs/jobdetail_post.aspx?cid=cbiz_advantech&jobid=Req-0005

我使用php构建xml文件,然后根据需要使用jquery/ajax构建页面。

我的问题是,如果我可以使用php来解析break和格式输出看起来更好吗?

谢谢你的帮助!

好的,如果我理解正确的话,问题是当文本在HTML文档中输出时,那么换行符就消失了。这是因为在HTML中,换行符(就像所有的空格一样)被折叠成一个空格,所以

<div>Hello World!</div>

<div>Hello 
World!</div>

产生相同的输出。

有几种方法可以解决这个问题:

  • 将CSS样式white-space : pre-line(或pre-wrap)放在周围元素上

  • 或使用PHP将所有换行符替换为<br>

  • 或者使用markdown库,基本上与第二点相同,但增加了其他类型的格式,例如正确地包装段落或在真正的HTML列表中翻转项目符号列表。

您应该为描述数据使用CDATA部分,以便XML解析器忽略任何违规字符

<Item name='Description' caption='Description'>
<![CDATA[
- Support acquisition and installation processes and coordinate with multiple SPAWAR and Navy stakeholders.
- Analyze acquisition policy life cycle and  provide analytical support.  
...
]]>
</Item>

Melaos是正确的,回车符(和其他空白字符)在XML文档中是有效的

请参阅 nl2br() 函数,该函数将为文本中的每一行添加HTML换行符。

下面是一个使用XML的快速示例。