XML DOM 解析器錯誤概述
導讀 | 當 Firefox 遇到解析器錯誤,它會載入一個包含錯誤的 XML 文件。 |
在 Firefox 中的解析器錯誤
在您試圖開啟一個 XML 文件時,就可能發生一個解析器錯誤(parser-error)。
與 Internet Explorer 瀏覽器不同,如果 Firefox 遇到錯誤,它會載入包含錯誤描述的 XML 文件中。
XML 錯誤文件的根節點的名稱是 "parsererror"。這是用來檢查是否有錯誤。
XML 錯誤(XML Error)
在下面的程式碼中,我們會讓解析器載入一個形式不良的 XML 文件。
例項
xmlDoc=document.implementation.createDocument("","",null); xmlDoc.async=false; xmlDoc.load("note_error.xml"); if (xmlDoc.documentElement.nodeName=="parsererror") { errStr=xmlDoc.documentElement.childNodes[0].nodeValue; errStr=errStr.replace(/</g, "<"); document.write(errStr); } else { document.write("XML is valid"); }
例項解釋:
- 載入 XML 檔案
- 檢查根節點的節點名稱是否是 "parsererror"
- 把錯誤字串載入變數 "errStr"
- 在錯誤字串編寫為 HTML 之前,把 "<" 字元替換為 "<"
注意:實際上,只有 Internet Explorer 會用 DTD 檢查您的 XML,Firefox 不會。
跨瀏覽器的錯誤檢查
在這裡,我們建立了一個 XML 載入函式,在 Internet Explorer 和 Firefox 中檢查解析器錯誤:
例項
function loadXMLDocErr(dname) { try //Internet Explorer { xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async=false; xmlDoc.load(dname); if (xmlDoc.parseError.errorCode != 0) { alert("Error in line " + xmlDoc.parseError.line + " position " + xmlDoc.parseError.linePos + "nError Code: " + xmlDoc.parseError.errorCode + "nError Reason: " + xmlDoc.parseError.reason + "Error Line: " + xmlDoc.parseError.srcText); return(null); } } catch(e) { try //Firefox { xmlDoc=document.implementation.createDocument("","",null); xmlDoc.async=false; xmlDoc.load(dname); if (xmlDoc.documentElement.nodeName=="parsererror") { alert(xmlDoc.documentElement.childNodes[0].nodeValue); return(null); } } catch(e) {alert(e.message)} } try { return(xmlDoc); } catch(e) {alert(e.message)} return(null); }
例項解釋 - Internet Explorer:
- 第一行建立一個空的微軟 XML 文件物件。
- 第二行關閉非同步載入,確保在文件完全載入之前解析器不會繼續執行 。
- 第三行告知解析器載入名為 "note_error.xml" 的 XML 文件。
- 如果 parseError 物件的 ErrorCode 屬性和 "0" 不同,提醒錯誤並退出函式。
- 如果 ErrorCode 屬性為 "0",返回 XML 文件。
例項解釋 - Firefox:
- 第一行建立一個空的XML文件物件。
- 第二行關閉非同步載入,確保在文件完全載入之前解析器不會繼續執行 。
- 第三行告知解析器載入名為 "note_error.xml" 的 XML 文件。
- 如果返回的文件是一個錯誤的文件,提醒錯誤並退出函式。
- 如果沒有,則返回 XML 文件。
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2898790/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- XML DOM 解析器概述XML
- XML DOM Parse Error 物件概述XMLError物件
- XML DOM 新增節點概述XML
- XML DOM – 屬性和方法概述XML
- XML DOM 載入函式概述XML函式
- XML DOM 替換節點概述XML
- XML DOM 刪除節點概述XML
- XML DOM 瀏覽器差異概述XML瀏覽器
- 使用jaxp解析器dom方式對xml節點進行操作XML
- JS錯誤記錄 – dom操作 – 排序JS排序
- XML 元素概述XML
- XML DOM(Document Object Model)XMLObject
- Python XML解析之DOMPythonXML
- XML 驗證概述XML
- XML 屬性概述XML
- 應用中的錯誤處理概述
- PHP透過DOM操作XMLPHPXML
- XML和Dom4jXML
- XML伺服器概述XML伺服器
- XML 樹結構概述XML
- JavaScript 複習之DOM 概述JavaScript
- XML 語法規則概述XML
- C# WebService返回引數為DataTable報錯“XML文件有錯誤”C#WebXML
- Maven關於配置setting.xml出現的錯誤MavenXML
- XML 檔案解析實踐 (DOM 解析)XML
- cypress 的錯誤訊息 - the element has become detached or removed from the domREM
- dom4j遍歷巢狀xml巢狀XML
- 基於 DOM 的 XML 檔案解析類XML
- xml--概述,快速入門,約束XML
- java的XML解析(DOM4J技術)JavaXML
- 火狐使用阿里雲OOS上傳圖片報錯:“XML 解析錯誤:找不到根元素”阿里XML
- DOM4J 解析 XML 之忽略轉義字元XML字元
- 使用JAXP對xml文件進行DOM解析基礎XML
- 01整合學習-概述、Bagging-隨機森林、袋外錯誤率隨機森林
- 【常見錯誤】--Nltk使用錯誤
- iis7.5錯誤 配置錯誤
- WordPress 生成網站地圖顯示 XML 解析錯誤:格式不佳的處理方法網站地圖XML
- nginx 錯誤除錯Nginx除錯