HTML源代码如下: <HTML> 
<HEAD> 
<SCRIPT LANGUAGE="JavaScript"> 
<!-- 
  var xmlparse = new ActiveXObject("Microsoft.XMLDOM"); 
  xmlparse.load("bird.xml");    
  alert(xmlparse.xml); 
  try{ 
    var fso = new ActiveXObject("Scripting.FileSystemObject"); 
    fso.createtextFile("c:\\1.xml", true); 
    var fileWrite = fso.OpenTextFile("c:\\1.xml",2); 
    fileWrite.write(xmlparse.xml); 
    fileWrite.close(); 
    alert("add successfully!"); 
  }catch(e){ 
    alert("fail to add."); 
  } 
//--> 
</SCRIPT> 
</HEAD> <BODY> </BODY> 
</HTML> 为什么这段代码运行后写到1.xml会把xml中 
<?xml version="1.0" encoding="GB2312"?> 
部分的encoding="GB2312"部分丢失? 请各位大虾帮忙看下,谢了!

解决方案 »

  1.   

    <?xml version="1.0" encoding="UTF-8"?> 这样看看。 没注意过这类问题。也许字符集和本机的相同,那就默认删掉了?
    或者你的书写格式有问题?
      

  2.   

    以前看过类似的情况,如果仅仅是丢失encoding的话,原因如下:
    var headerLine='<?xml version="1.0" encoding="gb2312"?>'; 
    fileWrite.writeLine(headerLine);在这之后再write xml content
      

  3.   

    这样的话就变成
    <?xml version="1.0" encoding="GB2312"?> 
    <?xml version="1.0"?>
    ......
    这样了,不能将那行替换啊!
    为什么encoding="GB2312"部分会丢失呢?
      

  4.   

    是解析器的问题。解析器
    fileWrite.write(xmlparse.documentElement.xml); 
      

  5.   

    问题解决了,谢谢大虾了!不过还有一点不明白的是为什么alert(xmlparse.xml); 他弹出的时候会丢了encoding="GB2312"呢?