google浏览器解析xml

解决方案 »

  1.   

    3个浏览器都兼容了.你看下
    ps:建议下csdn私信增加回代码功能.<html> 
        <head>
            <meta http-equiv="content-type" content="text/html; charset=utf-8" />
            <title>select测试 </title>
            <script>
                <!-- js解析xml文件-->
      
                function NewInfoAction()
                {
                    alert("进入");
                    var xmlDom;  //XML DOM object
                    var xmlFile="ShareDir.xml"; //xml file name
                    var ieFlag="ie";  //default
                 var isChrome = navigator.userAgent.indexOf('Chrome') != -1;
                 if(isChrome||!window.event) ieFlag="other"
     
                    //----------------------------start: create XML Dom-----------------------------------------
                    loadXML = function(fileRoute){
                        xmlDoc=null;
                        if (window.ActiveXObject){
                            xmlDoc = new ActiveXObject('Msxml2.DOMDocument');
                            xmlDoc.async=false;
                            xmlDoc.load(fileRoute);
                        }
                        else if (document.implementation && document.implementation.createDocument){
                            var xmlhttp = new window.XMLHttpRequest();
                            xmlhttp.open("GET",fileRoute,false);
                            xmlhttp.send(null);
                            var xmlDoc = xmlhttp.responseXML;
                        }
                        else {xmlDoc=null;}
                        return xmlDoc;
                    }
                    xmlDom=loadXML(xmlFile);
                    //----------------------------End: create XML Dom-----------------------------------------
                    //----------------------------start: read XML Dom-----------------------------------------
                    var strHTML="</br>";
                    var aID,aPic,aHref,aText;                if(ieFlag=="ie"){ //MS IE
                        var newsList1=xmlDom.documentElement.getElementsByTagName("Item");
                        for(var i=0;i <newsList1.length;i++){
                            try{
                                aID=newsList1[i].childNodes[0].text;
                                aPath=newsList1[i].childNodes[1].text;
                                aName=newsList1[i].childNodes[2].text;
                                aType=newsList1[i].childNodes[3].text;
                                aSize=newsList1[i].childNodes[4].text;
                                //strHTML+=' <option id="'+aID+'" rel="'+aPath+'" title="'+aType+'" href="'+aName+'">'+aType+' </option>';
                                strHTML+=' <option id="'+aID+'" value="'+aType+'"> <a href="'+aPath+'">'+aName+' </a> </option> <br>';
                                //alert(strHTML);
                            }
                            catch(e)
                            {
                                alert("解析错误!");
                            }
                        }
                    }
                    //  alert("进入FF解析");
                    if(ieFlag=="other"){//NOT MS IE
                        var newsList2=xmlDom.getElementsByTagName("Item");
                        //alert("开始解析xml")
                        for(var j=0;j <newsList2.length;j++){
                            try{                            //  <option id="a2" value="shuxue"> <a href="#">数学 </a> </option>
                                aID=newsList2[j].getElementsByTagName("Id")[0].childNodes[0].nodeValue;
                                aPath=newsList2[j].getElementsByTagName("Path")[0].childNodes[0].nodeValue;
                                aName=newsList2[j].getElementsByTagName("Name")[0].childNodes[0].nodeValue;
                                aType=newsList2[j].getElementsByTagName("Type")[0].childNodes[0].nodeValue;
                                aSize=newsList2[j].getElementsByTagName("Size")[0].childNodes[0].nodeValue;
                                // alert(aID);
                                // strHTML+=' <option id="'+aID+'" rel="'+aPath+'" title="'+aType+'" href="'+aName+'">'+aType+' </option>';
                                strHTML+=' <option id="'+aID+'" value="'+aType+'"> <a href="'+aPath+'">'+aName+' </a> </option> <br>';
                                //alert(aID);
                            }catch(e2)
                            {
                                alert("解析错误!");
                            }
                        }
                        //alert("for的长度"+newsList2.length);
                    }
                    alert(strHTML)
                    document.getElementById("textDiv").innerHTML=strHTML;
                    
                    if(document.all) document.getElementById("textDiv").outerHTML=document.getElementById("textDiv").outerHTML;
                    //
                    //----------------------------end: read XML Dom-------------------------------------------
                }
                <!-- js解析xml文件-->
            </script>
            <link href="css/select.css" type="text/css" rel="stylesheet">
            <link href="css/mulu.css" type="text/css" rel="stylesheet">    </head>    <body onLoad="NewInfoAction();">        <div  class="first_left" id="tt">
                <select id="textDiv" name="selectForm" size="15" style="width:200px; height:300px">            </select>        </div>
        </body>