XML DOM 浏览器差异

简介: 现代浏览器虽支持W3C DOM规范,但在处理XML空白和换行时存在差异。IE不将空格或换行视为文本节点,而其他浏览器则会。例如,一个包含CR/LF和空格的XML文档在IE中会有4个子节点,其他浏览器则有9个。示例代码通过加载XML文件并输出子节点数量来展示这一差异。

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 - 访问节点
`getElementsByTagName()` 方法用于访问XML文档中的特定节点。节点可按三种方式获取:使用该方法、遍历节点树或导航节点关系。`getElementsByTagName()` 返回一个节点列表,类似数组,可用于处理多个匹配节点。例如,代码加载 "books.xml" 到 `xmlDoc`,再将结果保存到变量 `x`。
|
2天前
|
XML JavaScript 数据格式
XML DOM 浏览器差异
现代浏览器均支持W3C DOM,但处理XML节点间的空白和换行存在差异。IE不将这些视为文本节点,而其他浏览器则会。例如,一个包含CR/LF和空格的XML段,在IE中会有4个子节点,非IE浏览器则有9个。此差异影响DOM解析结果。
|
4天前
|
XML JavaScript 数据格式
XML DOM 遍历节点树
该文介绍了XML DOM遍历节点树的概念,通过循环或移动在节点树中操作。示例展示了如何遍历XML文档,提取每个元素的名称和值。代码实例遍历了一个XML结构,输出了`book`元素的子节点信息,如`title`, `author`, `year`及其对应的值。
|
4天前
|
XML 存储 JavaScript
XML DOM - 访问节点
`getElementsByTagName()` 方法用于访问 XML 文档中的特定节点。该方法返回一个包含匹配标签名的所有节点的节点列表。可以遍历这个列表,或者利用节点间的父子、兄弟关系在树中导航。例如,加载 "books.xml" 到 xmlDoc 后,变量 x 保存了所有 `<book>` 节点的节点列表。节点列表类似数组,可按索引访问。
|
1天前
|
XML Web App开发 JavaScript
XML DOM 解析器
**XML DOM解析器**在浏览器中内置,将XML转换为可操作的对象。通过遍历、添加或删除节点的方法,XML文档被加载到DOM以便JavaScript访问。以下JS代码示例加载"books.xml": ```markdown - 创建XMLHttpRequest或ActiveXObject(针对旧版IE) - 打开GET请求到"books.xml" - 发送请求 - 设置响应为`responseXML`,成为DOM对象 ``` 这段代码展示了如何在不同浏览器上异步加载XML文档到DOM。
|
3天前
|
XML Web App开发 JavaScript
XML DOM 解析器
**XML DOM解析器将XML转换为JS对象,允许遍历、修改文档。浏览器通常内置XML解析器,如JavaScript的XMLHttpRequest。
|
2月前
|
缓存 JavaScript 前端开发
【JavaScript 技术专栏】DOM 操作全攻略:从基础到进阶
【4月更文挑战第30天】本文深入讲解JavaScript与DOM交互,涵盖DOM基础、获取/修改元素、创建/删除元素、事件处理结合及性能优化。通过学习,开发者能掌握动态改变网页内容、结构和样式的技能,实现更丰富的交互体验。文中还讨论了DOM操作在实际案例、与其他前端技术结合的应用,助你提升前端开发能力。
|
1月前
|
JavaScript 前端开发 UED
JavaScript基础-DOM操作:查找、创建、修改
【6月更文挑战第12天】本文介绍了DOM基础,包括查找元素(getElementById、getElementsByClassName等)、创建新节点(createElement、createTextNode)和修改节点(innerText、innerHTML、setAttribute等)。强调了易错点,如ID唯一性、性能考量和安全问题,并提供了代码示例。熟练掌握DOM操作对前端开发至关重要,但应注意性能优化,适时使用框架或库。
JavaScript基础-DOM操作:查找、创建、修改
|
1月前
|
JavaScript 前端开发 安全
【JavaScript 】DOM操作快速入门
【JavaScript 】DOM操作快速入门
19 2
|
18天前
|
JavaScript 前端开发
JavaScript 遍历DOM
JavaScript 遍历DOM
11 0

相关课程

更多