2011-06-06 114 views
1
<?xml version="1.0"?> 
<para> 
<![CDATA[ 
gkjdfjg fdgsdfsdfdsf sdfdsfdsfsdfds fdsfdsfdsfsdfsdfd sdfsdf 
sadf sdff sdf sdf 

gkjdfjg fdgsdfsdfdsf sdfdsfdsfsdfds fdsfdsfdsfsdfsdfd sdfsdf 
sadf sdff sdf sdf 
]]> 

</para> 

我将此文件保存为text.xml并尝试在浏览器中查看。这将返回所有文本在一行!它不保留CDATA部分定义的内容。XML保留空白

我曾经在某处读过XML保存了空白空间,那么为什么它不保留即使在CDATA节定义下?

感谢

+0

你在哪里读*“表示XML保留空白” *?我从头脑里知道的是,这种区别更大(比较http://www.w3.org/TR/REC-xml/#sec-line-ends)。同时要注意,浏览器中的XML显示可能会被视为一个应用程序,因此该应用程序不能遵循XML标准的规则,因为应用程序为了显示目的已经处理了XML。 – hakre 2014-07-06 16:49:44

回答

1

浏览器会显示所有在同一行,因为浏览器忽略空白。这就是为什么你在html中使用<br />标签(和其他)来放入输入空格和空格。

所以,如果你想有一个白线试试这个:

<?xml version="1.0"?> 
<para> 
<![CDATA[ 
gkjdfjg fdgsdfsdfdsf sdfdsfdsfsdfds fdsfdsfdsfsdfsdfd sdfsdf 
sadf sdff sdf sdf 
<br /><br /> 
gkjdfjg fdgsdfsdfdsf sdfdsfdsfsdfds fdsfdsfdsfsdfsdfd sdfsdf 
sadf sdff sdf sdf 
]]> 
+1

添加
不能解决我的问题。它在XML内容 – user269867 2011-06-06 10:56:26

+0

中显示
当我在IE中尝试你的原始代码时,它确实保留了空格。乔恩的解决方案似乎是[官方](http://msdn.microsoft.com/en-us/library/ms256097.aspx)来做到这一点,但在我的FF中也不起作用。我想这是不同的浏览器。你想用什么? – Niels 2011-06-06 11:05:13

+0

是在IE中保存,但不是在FF中。演示XML保存空白区域的示例。任何原因FF都不按期望显示。 – user269867 2011-06-06 11:16:42