XML通过dom方式插入html中时解决对多空格的处理。

如何显示空格?

通常情况下,HTML会自动截去多余的空格。不管你加多少空格,都被看做一个空格。比如你在两个字之间加了10个空格,HTML会截去9个空格,只保留一个。为了在网页中增加空格,你可以使用 表示空格。

如下有一段XML信息:

<?xml version='1.0' encoding='gb2312'?><detail><row RowState='Unchanged'  ID='6' Ts='0000000000a48042' ProductName='女NH相机包单反相机防水防雨防沙罩防水包  厂家直销' SKUCode='3992416324911' Unit='个' Quantity='2' Price='79' Amount='151.68' /></detail>

在节点ProductName中有多空格的存在。

var str = xml;

var domParser = new DOMParser;
var dom = domParser.parseFromString(str, "text/xml");

从而dom可以直接插入到html中。

在html中,我们处理空格的时候,是通过.replace(/ /g, "&nbsp;")处理的。如果在这里也这样处理,那么恭喜你,你肯定会遇到

这时候如果对xml不太了解的同学可能会懵逼了,竟然不认识nbsp是什么东西?

查一下HTML/XML转义字符对照表,可以得到以下信息:

&nbsp;是html中的空格的转义

&#160;是XSL中的。

XSL并不认识&nbsp;

PS:

XSL是可扩展样式表语言的外语缩写,是一种用于以可读格式呈现 XML(标准通用标记语言的子集)数据的语言。

XSL = XML 样式表 XML 不使用预先定义的标签(我们可以使用任何喜欢的标签名),并且每个标签的意义并不都那么容易被理解。

<table> 标签意味着一个 HTML 表格,一件家具,或是别的什么东西 - 浏览器不清楚如何显示它。

XSL 可描述如何来显示 XML 文档! XSL - 不仅仅是样式表语言 XSL

包括三部分:

1.XSLT - 一种用于转换 XML 文档的语言。

2.XPath - 一种用于在 XML 文档中导航的语言。

3.XSL-FO - 一种用于格式化 XML 文档的语言。

 所以针对XML中的空格,想保留的话.replace(/ /g, "&#160;")来进行处理。

原文地址:https://www.cnblogs.com/mdorg/p/10648319.html