遍历XML引擎版本以适应代码

XML引擎版本的不同,给程序设计带来诸多不便。将常见的几个版本来个遍历检测,就能自动适应了。

<script language="JavaScript">
var objXML;
function findXMLVersion() { 
var xmlVersion = ["4.0""3.0""2.6""2.5""2""Microsoft""MSXML"]; 
var xmlDoc = "hellow World"
var i, objXml, objXmlDom, strRetVal="";
for (i=0; i <= xmlVersion.length-1; i++) {
if (xmlVersion[i] == "Microsoft") { 
 
try { 
  objXML 
= new ActiveXObject("Microsoft.XMLDOM"); 
  objXML.async 
= false
  
if (objXML.loadXML(xmlDoc)) {
    
if (strRetVal == "") strRetVal = "Microsoft"
  }
  } 
catch (e) 
  { }
  }
 
else if (xmlVersion[i] == "MSXML") { 
 
try { 
  objXML 
= new ActiveXObject("Msxml.DOMDocument");
  objXML.async 
= false
  
if (objXML.loadXML(xmlDoc)) {
   
if (strRetVal == "") strRetVal = "Msxml"
  } 
  } 
catch (e)
   { } 
 } 
 
else if (xmlVersion[i] == "2") {
   
try { 
   objXML 
= new ActiveXObject("Msxml2.DOMDocument"); 
   objXML.async 
= falseif (objXML.loadXML(xmlDoc)) { 
    
if (strRetVal == ""
     strRetVal 
= "Msxml2"
    } 
    } 
    
catch (e) 
     { }
   }
 
else { 
  
try { 
   objXML 
= new ActiveXObject("Msxml2.DOMDocument." + xmlVersion[i]); 
   objXML.async 
= false;
   
if (objXML.loadXML(xmlDoc)) { 
    
if (strRetVal == ""
     strRetVal 
= "Msxml2"
    } 
   } 
  
catch (e) 
   { } 
  } 
 }  
 
return strRetVal;
 }

findXMLVersion();
XMLTest();

function XMLTest()
{
    
//var xml = new ActiveXObject("Microsoft.XMLDOM");
    //var xml = new ActiveXObject("Msxml2.DOMDocument");
    //var xml = new ActiveXObject("MSXML")
 xml = objXML;
    xml.load(
"Board.xml");

    
var root = xml.documentElement;
 
    
var str = "";
    
try     {
        
for(i=0; i < root.childNodes.length; i++)
        {
            str 
+= root.childNodes.item(i).text;
        }
        document.write(str);
    }
    
catch(e)
    {
        
//alert(e+e.description);
    }
}


</script>


 

posted @ 2005-11-15 21:13  萍踪侠影  阅读(745)  评论(0编辑  收藏  举报