XML DOM 浏览器差异

简介: 现代浏览器均支持W3C DOM规范,但在处理XML空白与换行上存在差异。例如,一个含CR/LF及空格的XML文档,在IE中仅识别出4个子节点,而非IE浏览器则识别出9个。这源于IE不将空白与换行符视作文本节点。这段代码演示了如何展示子节点数量的不同。

XML DOM 浏览器差异

DOM 解析中的浏览器差异

所有现代的浏览器都支持 W3C DOM 规范。

然而,浏览器之间是有差异的。一个重要的差异是:

处理空白和换行的方式

DOM - 空白和换行

XML 经常在节点之间包含换行或空白字符。这是在使用简单的编辑器(比如记事本)编辑文档时经常出现的情况。

下面的例子(由记事本编辑)在每行之间包含 CR/LF(换行),在每个子节点之前包含两个空格:

Giada De Laurentiis
2005
30.00

Internet Explorer 将不会把空的空白或换行作为文本节点,而其他浏览器会。

下面的代码片段显示(books.xml 的)根元素拥有多少个子节点:
实例
xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.documentElement.childNodes;
document.write("Number of child nodes: " + x.length);

尝试一下 »

实例解释:

使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中
获取根元素的子节点
输出子节点的数量。结果取决于您所使用的浏览器。IE 浏览器会输出 4(提醒 4 个子节点),而其他浏览器会输出 9(提醒 9 个子节点)。

相关文章
|
7天前
|
XML JavaScript 数据格式
XML DOM 浏览器差异
XML DOM 浏览器差异
|
19天前
|
JavaScript
DOM 节点列表长度(Node List Length)
DOM 节点列表长度(Node List Length)
|
9天前
|
XML JavaScript 数据格式
XML DOM 遍历节点树
XML DOM 遍历节点树