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

Posted mdorg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;")来进行处理。

 

技术图片

 

以上是关于XML通过dom方式插入html中时解决对多空格的处理。的主要内容,如果未能解决你的问题,请参考以下文章

通过js禁止输入空格(试用场景:当用字符串拼接插入dom节点时,onkeyup这些方法都不好使可用这个)

java解析xml的几种方式哪种最好?

想在xml中插入一个节点,该节点内容如下<#list sources as source></#list>,使用的是java的dom4j

将特殊的 HTML 字符插入 XML

请问使用javascript DOM如何插入空格?

第10章 DOM (2 DOM操作技术)