3种不同的方法生成文件

时间:2022-09-18 15:18:58
  1. <% @language="jscript"%>  
  2. <%  
  3. //使用FSO生成  
  4. var fso=Server.CreateObject("scripting.filesystemobject")  
  5. fso.CreateTextFile(Server.Mappath("./")+"/test1.xml");           // 创建文件。  
  6.    f = fso.GetFile(Server.Mappath("./")+"/test1.xml");  
  7.    ts = f.OpenAsTextStream(2,-2);  
  8.    ts.Write( "<root><name>"+escape("中国").replace(/%u(\w{4})/g,function($0,$1){return "&#"+(("0x"+$1)-0).toString(10)+";"})+"</name></root>" );  
  9.   ts.Close();  
  10.  
  11. %>  
  12. <%  
  13. //使用adodb.strea生成  
  14. var objStream = Server.CreateObject("ADODB.Stream")  
  15.     with(objStream)  
  16.         {  
  17.         Type=2;  
  18.         Mode=3;  
  19.     Open();  
  20.     Charset="utf-8";  
  21.     Position = objStream.Size  
  22.     WriteText="<root><name>"+escape("中国").replace(/%u(\w{4})/g,function($0,$1){return "&#"+(("0x"+$1)-0).toString(10)+";"})+"</name></root>";  
  23.     SaveToFile(Server.mappath("test2.xml"),2)   
  24.     Close()  
  25.     }  
  26. var objStream = null;  
  27. %>  
  28. <%  
  29. <--   
  30. //使用microsoft.dom生成  
  31. var doc = new ActiveXObject("Msxml2.DOMDocument"); //ie5.5+,CreateObject("Microsoft.XMLDOM")    
  32. //加载文档   
  33. //doc.load("test3.xml");   
  34.  
  35. //创建文件头   
  36. var p = doc.createProcessingInstruction("xml","version='1.0' encoding='utf-8'");   
  37.     //添加文件头   
  38.     doc.appendChild(p);   
  39. //用于直接加载时获得根接点   
  40. //var root = doc.documentElement;   
  41.  
  42. //两种方式创建根接点   
  43. //    var root =   
  44. doc.createElement("root");   
  45.     var root = doc.createNode(1,"root","");   
  46.     //创建子接点   
  47.     var n = doc.createNode(1,"name","");   
  48.         //指定子接点文本   
  49.         n.appendChild(doc.createTextNode(escape("中国").replace(/%u(\w{4})/g,function($0,$1){return "&#"+(("0x"+$1)-0).toString(10)+";"})));  
  50.         //添加子接点   
  51.         root.appendChild(n);        
  52.     //复制接点   
  53.     //创建数据段   
  54.     var c = doc.createCDATASection("this is a cdata");   
  55.         c.text = "hi,cdata";   
  56.         //添加数据段   
  57.         root.appendChild(c);   
  58.     //添加根接点   
  59.     doc.appendChild(root);   
  60.     //XML保存(需要在服务端,客户端用FSO)   
  61.     doc.save(Server.MapPath("./")+"/test3.xml");  
  62. //-->   
  63.  
  64. %>