以前在介绍SQL
k的时候已经提到了SQL
k对XML的支持
使用for XML语句就可以很容易的把执行的结果转化为一个XML
这样可以在很大程度上提高系统运行效率和开发速度
但是在使用ADO(Required ADO )访问返回的XML的方式和原来的Recordset是有所不同的如果你还是使用Recordset访问的话只能得到一个Unicode格式的XML Schema而无法得到XML的内容
其实这个问题也是很容易就能解决的只是我自以为很熟悉ADO没有仔细看Help所以没有发现ADO是采用Stream的方式来得到和返回XML的
Command 对象有两个属性叫Input Stream和Output Stream属性的值是一个IUnknown接口可以把一个XML Parser的接口赋给它或者是直接用RequestResponse等这样的好处是不需要再去生成一个Recordset不需要去保存这些数据从而节省了系统开销
下面给大家一个简单的把XML用Response返回的Example
<%@ Language=VBScript %>
<! #include file=ADOVBSinc >
<%
Dim objConn objCmd i
Set objConn = Servercreateobject(ADODBCONNECTION)
objConnOpen Provider=SQLOLEDB;Password=;Persist Security Info=True;User ID=sa;Initial Catalog=PBA;Data Source=(local)
Set objCmd = ServerCreateObject(ADODBCommand)
objCmdActiveConnection = objConn
objCmdProperties(Output Stream) = Response
objCmdProperties(XML Root) = root
objCmdCommandText = Select * from UserStatus for XML Auto
ResponseContentType = text/xml
objCmdExecute i adExecuteStream
Set objCmd = Nothing
objConnClose
Set objConn = Nothing
%>