3种不同的方法生成文件

  <% @language="jscript"%>

  <%

  //使用FSO生成

  var fso=Server.CreateObject("scripting.filesystemobject")

  fso.CreateTextFile(Server.Mappath("./")+"/test1.xml");           // 创建文件。

  f = fso.GetFile(Server.Mappath("./")+"/test1.xml");

  ts = f.OpenAsTextStream(2,-2);

  ts.Write( "<root><name>"+escape("中国").replace(/%u(\w{4})/g,function($0,$1){return "&#"+(("0x"+$1)-0).toString(10)+";"})+"</name></root>" );

  ts.Close();

  %>

  <%

  //使用adodb.strea生成

  var objStream = Server.CreateObject("ADODB.Stream")

  with(objStream)

  {

  Type=2;

  Mode=3;

  Open();

  Charset="utf-8";

  Position = objStream.Size

  WriteText="<root><name>"+escape("中国").replace(/%u(\w{4})/g,function($0,$1){return "&#"+(("0x"+$1)-0).toString(10)+";"})+"</name></root>";

  SaveToFile(Server.mappath("test2.xml"),2)

  Close()

  }

  var objStream = null;

  %>

  <%

  <--

  //使用microsoft.dom生成

  var doc = new ActiveXObject("Msxml2.DOMDocument"); //ie5.5+,CreateObject("Microsoft.XMLDOM")

  //加载文档

  //doc.load("test3.xml");

  //创建文件头

  var p = doc.createProcessingInstruction("xml","version='1.0' encoding='utf-8'");

  //添加文件头

  doc.appendChild(p);

  //用于直接加载时获得根接点

  //var root = doc.documentElement;

  //两种方式创建根接点

  //    var root =

  doc.createElement("root");

  var root = doc.createNode(1,"root","");

  //创建子接点

  var n = doc.createNode(1,"name","");

  //指定子接点文本

  n.appendChild(doc.createTextNode(escape("中国").replace(/%u(\w{4})/g,function($0,$1){return "&#"+(("0x"+$1)-0).toString(10)+";"})));

  //添加子接点

  root.appendChild(n);

  //复制接点

  //创建数据段

  var c = doc.createCDATASection("this is a cdata");

  c.text = "hi,cdata";

  //添加数据段

  root.appendChild(c);

  //添加根接点

  doc.appendChild(root);

  //XML保存(需要在服务端,客户端用FSO)

  doc.save(Server.MapPath("./")+"/test3.xml");

  //-->

  %>