XML DOM 浏览器差异

简介: 现代浏览器虽都支持W3C DOM规范,但在处理XML时存在差异,尤其是对待节点间的空白和换行。Internet Explorer不将这些空白视为文本节点,而其他浏览器则会。例如,一个XML文档中的CR/LF和空格可能在不同浏览器中导致子节点计数不同。在示例中,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 个子节点)。

相关文章
|
1天前
|
XML Web App开发 JavaScript
XML DOM 解析器
Most browsers have a built-in XML parser that converts XML into a JavaScript accessible object (XML DOM).
|
1天前
|
XML Web App开发 JavaScript
XML DOM 解析器
解析器把 XML 转换为 JavaScript 可存取的对象(XML DOM)。
|
2天前
|
XML JavaScript 数据格式
XML DOM 遍历节点树
Traversal means looping or moving through a node tree in XML DOM. "Traversal of the node tree" often occurs when extracting each element's value from an XML document. Here's an example that loops through all child nodes of an `xmlDoc` and displays their names and values:
|
3天前
|
XML 存储 JavaScript
XML DOM - 访问节点
DOM 允许访问 XML 文档的每个节点, 主要通过三种方式: 1. 使用 `getElementsByTagName()` 方法; 2. 循环遍历节点树; 3. 利用节点间关系导航。 此方法返回一个节点列表(Node List),实质为节点数组。示例代码加载 "books.xml" 到 `xmlDoc`,并存储结果到变量 `x`。
|
3天前
|
XML JavaScript 数据格式
XML DOM 浏览器差异
**XML DOM Browser Variances** Modern browsers support the W3C DOM spec, yet differ in handling whitespace & line breaks within XML nodes, often inserted by simple editors like Notepad. IE omits empty spaces/line breaks as text nodes, unlike others.
|
3天前
|
XML JavaScript 数据格式
XML DOM 浏览器差异
**XML DOM 浏览器差异摘要** 现代浏览器均支持W3C DOM标准,但在处理空白与换行上存在差异。XML文件中常见的CR/LF与空格,在不同编辑器下编辑时尤为明显。如示例所示,IE不将空白视为文本节点,而其他浏览器则计入。运行代码`document.write("Number of child nodes: " + xmlDoc.documentElement.childNodes.length);`,IE显示4个子节点,其余浏览器显示9个,体现了解析上的不一致性。
|
1天前
|
XML JavaScript 数据格式
XML DOM 浏览器差异
所有 modern browsers 支持 W3C DOM, 但在处理 XML 中的空白和换行上有差异。例如, 使用记事本编辑的 XML 可能包含 CR/LF 和额外空格:
|
1天前
|
XML 存储 JavaScript
XML DOM - 访问节点
DOM 允许访问 XML 文档的每个节点, 主要通过三种方式: 1. 使用 `getElementsByTagName()` 方法; 2. 循环遍历节点树; 3. 利用节点间关系导航。`getElementsByTagName()` 返回节点列表, 类似数组结构。示例代码加载 "books.xml" 到 xmlDoc, 并存储结果于变量 x 中。
|
2天前
|
XML Web App开发 JavaScript
XML DOM 解析器
Most browsers have a built-in XML parser to create an XML DOM object from XML, making it accessible via JavaScript. The XML DOM includes methods for navigating, accessing, inserting, and deleting nodes in the XML tree.
|
2月前
|
JavaScript
浏览器插件crx文件--JS混淆与解密
浏览器插件crx文件--JS混淆与解密
81 0

相关课程

更多