XML DOM 浏览器差异

简介: 不同的浏览器对XML DOM解析存在差异,尤其是在处理节点间的空白和换行上。例如,Internet Explorer不将这些空白视为文本节点,而其他浏览器则会。在示例中,一个XML文档有9个子节点(包括空白和换行),IE显示为4个,而其他浏览器显示为9个。加载XML文件到DOM后,通过输出子节点数量可观察到这一差异。

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

相关文章
|
1天前
|
XML Web App开发 JavaScript
XML DOM 解析器
浏览器通常内置XML解析器,将XML转换为JavaScript可操作的DOM对象。XML DOM提供遍历、修改XML节点的函数。
|
1天前
|
XML Web App开发 JavaScript
XML DOM 解析器
浏览器内置的XML解析器将XML转换为JavaScript可操作的DOM对象,允许遍历、访问和修改XML节点。要加载XML文档,如"books.xml",可以使用XMLHttpRequest。以下是示例代码:创建XMLHTTP对象,打开GET请求,发送请求到服务器,然后将响应解析为DOM对象。这个过程在不同版本的浏览器中可能略有差异。
|
1天前
|
XML JavaScript 数据格式
XML DOM 遍历节点树
该文段介绍如何遍历XML文档的节点树。通过循环移动,可以访问并处理每个节点,例如提取元素值。示例代码展示了一个实例,遍历并打印出`book`元素的所有子节点的名称和值,如`title`, `author`, `year`等。
|
2天前
|
XML 存储 JavaScript
XML DOM - 访问节点
`getElementsByTagName()` 方法用于访问XML文档中的节点。它返回一个节点列表(Node List),类似数组,允许通过循环或导航节点关系来遍历和访问每个节点。例如,加载 "books.xml" 到 `xmlDoc`,然后存储在变量 `x` 中,便于进一步处理。
|
3天前
|
XML JavaScript 前端开发
XML DOM 遍历节点树
```markdown 遍历XML DOM节点树涉及在文档中循环移动。以下示例展示如何遍历并显示所有子节点的名称和值: ``` ```xml <!DOCTYPE html> <output> title: Everyday Italian author: Giada De Laurentiis year: 2005 </output> ``` ```javascript // 加载XML到xmlDoc // 获取根元素子节点 // 对每个子节点,打印节点名和文本节点值 ```
|
4天前
|
XML 存储 JavaScript
XML DOM - 访问节点
`getElementsByTagName()` 方法用于访问XML文档中的节点。节点可按三种方式获取:使用该方法、循环遍历节点树或通过节点关系导航。`getElementsByTagName()` 返回一个节点列表,类似数组。示例代码加载"books.xml"到`xmlDoc`,并将结果存储在变量`x`中。
|
4天前
|
XML JavaScript 数据格式
XML DOM - 导航节点
在XML DOM中,节点导航涉及利用关系如`parentNode`, `childNodes`, `firstChild`, `lastChild`, `nextSibling`和`previousSibling`。示例展示了如何找到`<book>`元素的父节点,通过`getElementsByTagName`获取第一个`<book>`元素,然后输出其`parentNode.nodeName`。
|
4天前
|
XML Web App开发 JavaScript
XML DOM 解析器
浏览器内置的XML解析器将XML转换为XML DOM,便于JavaScript操作。通过XMLHttpRequest加载XML文档,如`books.xml`,创建HTTP请求并获取响应,将响应转化为DOM对象。示例展示了在不同浏览器中创建XMLHttpRequest对象并加载XML的过程。
|
5天前
|
XML JavaScript 数据格式
XML DOM 浏览器差异
现代浏览器虽都支持W3C DOM规范,但在处理XML时存在差异,尤其是对待节点间的空白和换行。Internet Explorer不将这些空白视为文本节点,而其他浏览器则会。例如,一个XML文档中的CR/LF和空格可能在不同浏览器中导致子节点计数不同。在示例中,IE会显示4个子节点,而其他浏览器显示9个。
|
8天前
|
XML 数据格式
小米备份descript.xml文件
小米备份descript.xml文件
25 0

相关课程

更多