DOM 瀏覽器
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 個子節點)。