首页 > 技术文章 > XML JS Demo

wzq806341010 2014-03-19 18:10 原文

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
</head>
<body>
    <script type="text/javascript">
        //加载XML
        var loadXML = function (xmlFile, callback) {    
                var xmlDOC;
                var loadResult = false;
            try {
                if (window.ActiveXObject) { //判断是否为IE
                    xmlDOC = new ActiveXObject("Microsoft.XMLDOM");
                    xmlDOC.async = false;
                    loadResult = xmlDOC.load(xmlFile);
                } else if (document.implementation && document.implementation.createDocument) {//Firefox Chrome
                    var xmlhttp = new window.XMLHttpRequest();
                    xmlhttp.open("get", xmlFile, false);  //创建一个新的http请求,并指定请求的方法,URL一级验证信息
                    xmlhttp.send(null);      //发送一个请求到http服务器并接受回应
                    xmlDOC = xmlhttp.responseXML;   //将响应信息格式化为Xml Document对象并返回s.
                    loadResult=xmlDOC!=null;
                }
                if (loadResult) {
                        callback(xmlDOC);
                 } else {
                        alert("加载XML失败!");
                 }
            } catch (e) {
                alert("加载XML出现异常!原因:" + e);
            }
             
        }

        var fn_LoadXMLContentIE = function (xd) {
            var xde=xd.documentElement;
        //    var one_tag = xd.getElementsByTagName("A"); //一级节点
            var one_cns=xde.childNodes[0];//一级节点
            for(var i=0;i<one_cns.length;i++){//遍历一级节点
                var o_v=xde.childNodes[i].getAttribute("Value");
                var o_t=xde.childNodes[i].getAttribute("Text");
                var two_cns=xde.childNodes[i].childNodes;//二级节点集合
                for(var j=0;j<two_cns.length;j++){
                    var t_v=two_cns[j].getAttribute("Value");
                    var t_t=two_cns[j].getAttribute("Text");
                }
            }
        }

        var fn_LoadXMLContentFF = function (xd) {
                var xde=xd.documentElement;
                var one_tag = xd.getElementsByTagName("A"); //一级节点
                for(var i=0;i<one_tag.length;i++){//遍历一级节点
                    var ii=i+1;
                    var one_cns=xde.childNodes[ii];
                    alert(one_cns.nodeType);
                    var o_v=one_cns.childNodes[ii].getAttribute("Text");
                    alert(o_v);
                }
        }

        loadXML("NavigaList.xml", function (xd) {
            var ISIE=navigator.userAgent.indexOf("MSIE")!=-1;
            var xde=xd.documentElement;
            var one_tag = xd.getElementsByTagName("Login"); //顶级节点
            var ii=ISIE?0:1;
            var one_cns=xde.childNodes[ii];//一级节点
            var o_v=one_cns.childNodes[ii].getAttribute("Value");
            var o_t=one_cns.childNodes[ii].getAttribute("Text");
            var two_cns=one_cns.childNodes[ii].childNodes;//二级节点集合
                for(var j=0;j<two_cns.length;j++){
                        var jj=ISIE?j:(jj+1);
                        var t_v=two_cns[jj].getAttribute("Value");
                        var t_t=two_cns[jj].getAttribute("Text");
                        alert(t_t);
                }
        });

    </script>
</body>
</html>

 

推荐阅读