1、写上正确的xml的dtd定义后再试试
2、我这里有一个函数,久经考验,你可以用用:
////////////////////////////////////////////////////////////
//载入指定的xml文档,并返回
//docName:路径+文件名
function loadXMLDocument(docName)
{
var xmldoc = new ActiveXObject("Microsoft.XMLDOM");
xmldoc.async = false;
xmldoc.validateOnParse = false;
xmldoc.load(docName);
if(xmldoc.parseError.errorCode != 0) {
alert(showError(xmldoc));
return(false);
}
return(xmldoc);
}
////////////////////////////////////////////////////////////
//载入指定的xsl文档,并返回
//docName:路径+文件名
function loadXSLDocument(docName)
{
var xmldoc = new ActiveXObject("Microsoft.XMLDOM");
xmldoc.async = false;
xmldoc.load(docName);
if(xmldoc.parseError.errorCode != 0) {
alert(showError(xmldoc));
return(false);
}
return(xmldoc);
}
/////////////////////////////////////////////////////////////////////
//生成指定的xml文件的出错信息
function showError(xmldoc) 
{
var strError = new String;
var err = xmldoc.parseError;
strError = 'Error!\n' +
'file url: '+err.url +' \n'+
'line no.:'+err.line +'\n'+
'char: '+ err.linepos + '\n' +
'source: '+err.srcText+'\n'+
'code: '+err.errorCode+'\n'+
'description: '+err.reason+'\n';
return(strError);
}

解决方案 »

  1.   

    附上例子:
    <body>
    <div id="showXML"></div>
    <script language="javascript">
    ………………
    函数
    ………………
    var mdoc = loadXMLDocument("你的路径+文件名");
    var sdoc = loadXSLDocument("你的路径+文件名");
    showXML.innerHTML = mdoc.transformNode(sdoc);
    </script>
    </body>
      

  2.   

    看看CSDN的保存function saveas(id)
    {
    var filename = "/expert/topic/"+Math.floor((parseInt(id)-1)/1000).toString()+"/"+id+".xml"
    //alert(filename);
    var csdnxml=new ActiveXObject("Microsoft.XMLDOM");
    var csdnxsl=new ActiveXObject("Microsoft.XMLDOM");
    csdnxml.async=false;
    csdnxsl.async=false;
    try
    {
    //alert("11");
    csdnxml.load(filename);
    if(csdnxml.parseError.errorCode)
    {
    alert(filename+"解析错误\n"+csdnxml.parseError.reason);
    }

    csdnxsl.load("/expert/xsl/100.xsl");
    if(csdnxsl.parseError.errorCode)
    {
    alert("解析错误\n"+csdnxsl.parseError.reason);
    }
    var html=csdnxml.transformNode(csdnxsl);
    //alert(html);
    }
    catch(x)
    {
    alert("无法保存!!")
    return;
    } var winSave = window.open();
    winSave.document.open ("text/html","gb2312");
    winSave.document.write (html);
    winSave.document.execCommand ("SaveAs",true,"csdn_"+id+".htm");
    winSave.close();
    }