XML DOM 浏览器差异

简介: **XML DOM 在不同浏览器间存在差异,特别是对待空白和换行的方式。IE 不将空白或换行视为文本节点,而其他浏览器则会。例如,一个包含CR/LF和空格的XML文件在IE中可能显示4个子节点,但在其他浏览器中显示9个。加载XML文件到`xmlDoc`并获取根元素的子节点数量揭示了这一差异。**

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

相关文章
|
3天前
|
XML JavaScript 数据格式
XML DOM 遍历节点树
该文讲述了如何遍历XML文档的节点树。通过示例代码展示如何循环访问XML元素,提取每个节点的名称和值。实例中,XML数据包含书籍信息,程序加载XML后,遍历根节点的所有子节点,依次显示它们的名称和内容。
|
3天前
|
XML 存储 JavaScript
XML DOM - 访问节点
`getElementsByTagName()` 方法用于访问 XML 文档中的节点。节点可通过节点列表(Node List)获取,它类似数组。代码示例加载 "books.xml" 到 xmlDoc,然后将所有书签存储在变量 x 中。可以遍历节点树、使用关系导航或 getElementsByTagName() 访问特定节点。
|
17小时前
|
XML JavaScript 数据格式
XML DOM 浏览器差异
XML DOM在浏览器中解析时,空格和换行处理不一致。IE不将这些视为文本节点,而其他浏览器则会。例如,一个包含CR/LF和空格的XML文档在IE中可能显示4个子节点,但在其他浏览器中显示9个。`documentElement.childNodes.length`的值会因浏览器不同而变化。
|
1天前
|
XML 存储 JavaScript
XML DOM - 访问节点
`getElementsByTagName()` 方法用于访问 XML 文档中的特定节点。此方法返回一个包含匹配标签名的所有节点的节点列表。可以遍历这个列表,或者利用节点间的父子、兄弟关系在树中导航。例如,加载 "books.xml" 到 xmlDoc 后,`x = xmlDoc.getElementsByTagName("book")` 将获取所有 `<book>` 节点。节点列表类似数组,可按索引访问。
|
2天前
|
XML Web App开发 JavaScript
XML DOM 解析器
XML DOM解析器在浏览器中内置,将XML转换为JavaScript对象以便操作。通过XMLHttpRequest或ActiveXObject加载XML文档,如`books.xml`,然后使用`.responseXML`获取DOM。这允许遍历、修改XML节点。示例展示了如何使用AJAX加载XML。
|
1月前
|
JavaScript 前端开发 UED
JS:如何获取浏览器窗口尺寸?
JS:如何获取浏览器窗口尺寸?
127 1
|
1月前
|
JavaScript
浏览器插件crx文件--JS混淆与解密
浏览器插件crx文件--JS混淆与解密
64 0
|
1月前
|
JavaScript 前端开发 算法
Node.js中的process.nextTick与浏览器环境中的nextTick有何不同?
Node.js中的process.nextTick与浏览器环境中的nextTick有何不同?
|
1月前
|
JavaScript 前端开发 小程序
js 实现浏览器下载视频2种方法
js 实现浏览器下载视频2种方法
577 0
|
1月前
|
Web App开发 JavaScript
Vue 项目中使用 debugger 在 chrome 谷歌浏览器中失效以及 console.log 指向去了 vue.js 代码
Vue 项目中使用 debugger 在 chrome 谷歌浏览器中失效以及 console.log 指向去了 vue.js 代码
446 0

相关课程

更多