3种不同的方法生成文件
时间:2021-07-01 10:21:17
帮助过:75人阅读
<% @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");
//-->
%>