在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
XML DOM 解析器错误当 Firefox 遇到解析器错误,它会载入一个包含错误的 XML 文档。 在 Firefox 中的解析器错误在您试图打开一个 XML 文档时,就可能发生一个解析器错误(parser-error)。 与 Internet Explorer 浏览器不同,如果 Firefox 遇到错误,它会载入包含错误描述的 XML 文档中。 XML 错误文档的根节点的名称是 "parsererror"。这是用来检查是否有错误。 XML 错误(XML Error)在下面的代码中,我们会让解析器加载一个形式不良的 XML 文档。 (您可以在我们的 XML 教程中阅读更多有关形式良好且有效的 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 文件:note_error.xml 实例解释:
注意:实际上,只有 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); } 尝试一下 » 查看 XML 文件:note_error.xml 实例解释 - Internet Explorer:
实例解释 - Firefox:
|
请发表评论