XML DOM 浏览器差异
DOM 解析中的浏览器差异
所有现代的浏览器都支持 W3C DOM 规范。
然而,浏览器之间是有差异的。一个重要的差异是:
处理空白和换行的方式
DOM - 空白和换行
XML 经常在节点之间包含换行或空白字符。这是在使用简单的编辑器(比如记事本)编辑文档时经常出现的情况。
下面的例子(由记事本编辑)在每行之间包含 CR/LF(换行),在每个子节点之前包含两个空格:
<book>
<title>Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<title>Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
Internet Explorer 将不会把空的空白或换行作为文本节点,而其他浏览器会。
下面的代码片段显示(books.xml 的)根元素拥有多少个子节点:
实例
<!DOCTYPE html> <html> <head> <script src="loadxmldoc.js"></script> </head> <body> <script> xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.documentElement.childNodes; document.write("Number of child nodes: " + x.length); </script> </body> </html>
运行实例 »
点击 "运行实例" 按钮查看在线实例
实例解释:
使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中
获取根元素的子节点
输出子节点的数量。结果取决于您所使用的浏览器。IE 浏览器会输出 4(提醒 4 个子节点),而其他浏览器会输出 9(提醒 9 个子节点)。