javascript前端XML格式正确性验证方法

   	function validateXML(xmlContent) 
    	{ 
    	    //errorCode 0是xml正确,1是xml错误,2是无法验证 
    	    var xmlDoc,errorMessage,errorCode = 0; 
    	    // code for IE 
    	    if (window.ActiveXObject) 
    	    { 
    	        xmlDoc  = new ActiveXObject("Microsoft.XMLDOM"); 
    	        xmlDoc.async="false"; 
    	        xmlDoc.loadXML(xmlContent); 
    	 
    	        if(xmlDoc.parseError.errorCode!=0) 
    	        { 
    	            errorMessage="错误code: " + xmlDoc.parseError.errorCode + "\n"; 
    	            errorMessage=errorMessage+"错误原因: " + xmlDoc.parseError.reason; 
    	            errorMessage=errorMessage+"错误位置: " + xmlDoc.parseError.line; 
    	            errorCode = 1; 
    	        } 
    	        else 
    	        { 
    	            errorMessage = "格式正确"; 
    	        } 
    	    } 
    	    // code for Mozilla, Firefox, Opera, chrome, safari,etc. 
    	    else if (document.implementation.createDocument) 
    	    { 
    	        var parser=new DOMParser(); 
    	        xmlDoc = parser.parseFromString(xmlContent,"text/xml"); 
    	        var error = xmlDoc.getElementsByTagName("parsererror"); 
    	        if (error.length > 0) 
    	        { 
    	               if(xmlDoc.documentElement.nodeName=="parsererror"){ 
    	                errorCode = 1; 
    	                errorMessage = xmlDoc.documentElement.childNodes[0].nodeValue; 
    	            } else { 
    	                errorCode = 1; 
    	                errorMessage = xmlDoc.getElementsByTagName("parsererror")[0].innerHTML; 
    	            } 
    	        } 
    	        else 
    	        { 
    	            errorMessage = "格式正确"; 
    	        } 
    	    } 
    	    else 
    	    { 
    	        errorCode = 2; 
    	        errorMessage = "浏览器不支持验证,无法验证xml正确性"; 
    	    } 
    	    return { 
    	        "msg":errorMessage,  
    	        "error_code":errorCode 
    	    }; 
    	}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值