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);
}
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);
}
<body>
<div id="showXML"></div>
<script language="javascript">
………………
函数
………………
var mdoc = loadXMLDocument("你的路径+文件名");
var sdoc = loadXSLDocument("你的路径+文件名");
showXML.innerHTML = mdoc.transformNode(sdoc);
</script>
</body>
{
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();
}