XML DOM 浏览器差异

简介: 现代浏览器均支持W3C DOM规范,但在解析XML时存在差异,主要体现在处理空白与换行上。如示例所示,使用记事本编辑的XML文件会在行间添加换行(CR/LF)及空格。Internet Explorer不会将这些空白视为文本节点,而其他浏览器则会计算在内。这会导致相同的XML文件在不同浏览器中被统计出不同数量的子节点。例如,IE可能显示4个子节点,而其他浏览器则显示9个。

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 个子节点)。

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