xml_dom.load(request) 在ASP.NET中应该怎么写?
这是一个用XML_DOM批量上传文件的程序,想移植到ASP.NET中,希望那位高手能给与解答。
// 创建 ADO-stream 对象
var ado_stream = new ActiveXObject( "ADODB.Stream ");
// 创建包含默认头信息和根节点的 XML文档
var xml_dom = new ActiveXObject( "MSXML2.DOMDocument ");
xml_dom.loadXML( " <?xml version=\ "1.0\ " ?> <root/> ");
// 指定数据类型
xml_dom.documentElement.setAttribute( "xmlns:dt ", "urn:schemas-microsoft-com:datatypes ");
// 创建一个新节点,设置其为二进制数据节点
var l_node1 = xml_dom.createElement( "file1 ");
l_node1.dataType = "bin.base64 ";
// 打开Stream对象,读源文件
ado_stream.Type = 1; // 1=adTypeBinary
ado_stream.Open();
ado_stream.LoadFromFile( "C:\\Inetpub\\wwwroot\\warning.gif ");
// 将文件内容存入XML节点
l_node1.nodeTypedValue = ado_stream.Read(-1); // -1=adReadAll
ado_stream.Close();
xml_dom.documentElement.appendChild(l_node1);
// 把XML文档发送到Web服务器
var xmlhttp = new ActiveXObject( "Microsoft.XMLHTTP ");
xmlhttp.open( "POST ", "./file_recieve.asp ",false);
xmlhttp.send(xml_dom);
asp页面这样
<%@ LANGUAGE=VBScript%>
<% Option Explicit
Response.Expires = 0
' ' 定义变量和对象。
dim ado_stream
dim xml_dom
dim xml_file1
' ' 创建 Stream 对象
set ado_stream = Server.CreateObject( "ADODB.Stream ")
' ' 从Request对象创建 XMLDOM对象
set xml_dom = Server.CreateObject( "MSXML2.DOMDocument ")
xml_dom.load(request)
' ' 读出包含二进制数据的节点
set xml_file1 = xml_dom.selectSingleNode( "root/file1 ")
' ' 打开Stream对象,把数据存入其中
ado_stream.Type = 1 ' ' 1=adTypeBinary
ado_stream.open
ado_stream.Write xml_file1.nodeTypedValue
' ' 文件存盘
ado_stream.SaveToFile "c:\xx.gif ",2 ' ' 2=adSaveCreateOverWrite
ado_stream.close
' ' 销毁对象
set ado_stream = Nothing
set xml_dom = Nothing
' ' 向浏览器返回信息
Response.Write "Upload successful! "
%>
我现在想知道如何将这些代码移植到asp.net中,谢谢
[解决办法]
try ->
// .cs
System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();
xmlDoc.Load(Request.InputStream);
[解决办法]
既然是 .net 了,服务器端就选择用 .net 相关类库,
System.Xml 下面的类库够你用的
不必要再取用 ADO 的东东了