<html >
<head>
<script>
function $(s){
  return document.getElementById(s);
}
window.onload=function(){
var div2Display = "pad";
var xslFile = "test.xsl";
var xmlFile = "test.xml";
try
{
   var oXslDom = document.implementation.createDocument("", "", null);
   oXslDom.async = false;
   oXslDom.load(xslFile);
var oXsltProcessor = new XSLTProcessor();
oXsltProcessor.importStylesheet(oXslDom);
var outputXHTML = oXsltProcessor.transformToDocument(oXmlDom, document)
var oSerializer = new XMLSerializer();
str = oSerializer.serializeToString(outputXHTML);
}
catch(e)
{
var xslt = new ActiveXObject("Msxml2.XSLTemplate");
var xslDoc = new ActiveXObject("Msxml2.FreeThreadedDOMDocument");
xslDoc.async = false;
xslDoc.resolveExternals = false;
xslDoc.load(xslFile);
    if (xslDoc.parseError.errorCode != 0) {
         var myErr = xslDoc.parseError;
         alert("XSL出错:" + myErr.reason);
    }
    else {
   xslt.stylesheet = xslDoc;
       var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
   xmlDoc.async = false;
   xmlDoc.resolveExternals = false;
   xmlDoc.load(xmlFile);
   if (xmlDoc.parseError.errorCode != 0) {
      var myErr = xmlDoc.parseError;
      alert("XML出错: " + myErr.reason);
   }
   else {
           var xslProc = xslt.createProcessor();
           xslProc.input = xmlDoc;
           xslProc.transform();
           var str = xslProc.output;
     }
  }
}
$(div2Display).innerHTML = str;
}
</script> 
</head>
<body>
<div id="pad"></div> 
</body>
</html>
 
 

解决方案 »

  1.   

    hookee 
    真的很感谢了,昨天就在研究这几个问题了,也是你帮忙的。
    再问你一个很简单的问题
    如何判断浏览器是否是IE7?
    if(window.ActiveXObject)这条语句判断IE7不行,IE6确可以,是不是IE7不支持Activex?
    奇怪啊。
    最近刚开始研究xml dom的问题,忘指教
      

  2.   

    对于ie可用if(window.XMLHttpRequest)判断7.0以上, 用if(window.XDomainRequest)判断8.0
      

  3.   

    mozilla的好像也可以用if(window.XMLHttpRequest)来判断吧?
      

  4.   

    多谢!
    如果用if (window.navigator.userAgent.indexOf("MSIE")>=1) 来判断IE
    中后面的>=1 那个1 那个参数可不可以当作是IE的版本号的一个判断依据呢?