我有一个像这样的xml:
<cont><?php echo nl2br($cont); ?></cont>
回复是:
<cont>
2<br/>
3<br/>
4<br/>
</cont>
在页面中代码为:
mainParentElement = document.getElementById('div_cont');
RemoveAllChildElements(mainParentElement);
mainParentElement.innerHTML = "<div class=\'div_cont\'>" + xmlDoc.getElementsByTagName('cont')[0].childNodes[0].nodeValue + "</div>";
在这种情况下,div中的结果只是第一行。 (2)
如果我删除nl2br
,结果就是所有行。 (当然没有<br>
)
如何添加<br>
?
答案 0 :(得分:0)
了解CDATA
。
有些字符不允许作为XML标记的内容,例如<
,因为对于解析器,它们标记了标记的开头(显然)。
因此,如果您希望将这些数据作为标记的内容,则必须以某种方式转义。在XML中,这是通过将内容包装到<![CDATA[ ... ]]>
来完成的,<cont><![CDATA[<?php echo nl2br($cont); ?>]]></cont>
明确告诉解析器不解释包含的数据(将其视为 C haracter DATA )。
基本上你必须这样做:
{{1}}
答案 1 :(得分:0)
添加<br/>
将创建新的xml节点。然后将您的内容分为:
2 (text node)
<br/> (xml node)
3 (text node)
<br/> (xml node)
4 (text node)
<br/> (xml node)
(缺少更好的单词的xml节点)
为什么需要添加这些换行符?如果它是用于演示,我建议在呈现它们之前添加它们