验证xml格式的正确性

29 篇文章 0 订阅
28 篇文章 1 订阅


前言

提示:本文要记录的大概内容:

利用ActiveXObjectDOMParser验证XML文本格式的正确性。主要是提示语法错误和错误位置。


提示:以下是本篇文章正文内容,下面案例可供参考

一、源码

	/*
     * 验证xml格式的正确性
     */
    this.validateXML = function (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 {
                errorCode = 0;
                errorMessage = "格式正确";
            }
        } else if (document.implementation.createDocument) {
            var parser = new DOMParser();
            xmlDoc = parser.parseFromString(xmlContent,"text/xml");
            var error = xmlDoc.getElementsByTagName("parsererror");

            if (error.length > 0) {
                errorCode = 1;
                errorMessage = xmlDoc.getElementsByTagName("parsererror")[0].getElementsByTagName("div")[0].innerText;

                var tmp = [];
                var keyRexExp = new RegExp('(line 0)', 'gi');
                angular.forEach(errorMessage.split(':'), function(msg, index) {
                    if (index == errorMessage.split(':').length - 1) {
                        msg = msg.replace(keyRexExp, '');
                        tmp.push(msg);
                    } else {
                        tmp.push(msg);
                    }
                });

                errorMessage = tmp.join(':');
            } else {
                errorCode = 0;
                errorMessage = "格式正确";
            }
        } else {
            errorCode = 2;
            errorMessage = "浏览器不支持验证,无法验证xml正确性";
        }

        if (errorCode !== 0) {
            return {
                retcode: false,
                error_msg: errorMessage
            };
        } else {
            return {
                retcode: true
            };
        }
    }

总结

提示:这里对文章进行总结:

例如:以上就是本篇文章的主要内容。有关XML的文本格式验证,您还可以到线上工具中进行验证。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值