日期:2011-05-24  浏览次数:20808 次

概要
从 Active Server Pages (ASP) Web 页返回 XML 数据是一种常见的编程要求。 实现此要求所用的方法因用来托管 ASP 应用程序的 Microsoft Internet 信息服务 (IIS) 的版本而异。 本文中的分步指南带有相关的示例代码,演示了怎样从 ASP 页返回可扩展标记语言 (XML) 数据。 

下面的示例代码创建一个 ASP 页,此页返回XML 格式的 ActiveX Data Objects (ADO) 记录集的内容。 此代码连接着 SQL Server PUBS 示例数据库的一个实例,而且它通过执行 SELECT 查询语句以从 Authors 表中检索数据的这一方式来打开 ADO 记录集。 然后,使用 ADO 的保存功能和 ASP Response 对象的 Write 方法,将此记录集以 XML 的格式返回给客户端浏览器。
1. 先决条件
下面简要列出了推荐使用的硬件、软件、网络架构以及所需的 Service Pack: 
Microsoft Windows 2000 专业版、Windows 2000 Server 或 Windows 2000 Advanced Server 
Microsoft Internet Information Server (IIS) 5.0 



Microsoft Windows NT 4.0 Server 
Microsoft Internet Information Server (IIS) 4.0 
2. 准备 Web 站点
在 Windows 资源管理器中,在 Web 服务器的根文件夹(通常在 C:\Inetpub\Wwwroot\)下创建一个名为 Xmltest 的文件夹。 
右键单击新创建的文件夹,然后单击属性。 
在安全选项卡上,添加所有人组,并向“所有人”组授予对此文件夹的读和写权限。单击确定接受更改。
在开始菜单上,指向程序,指向管理工具,然后单击 Internet 服务管理器。 
在 Internet 信息服务下,双击展开对应于本地服务器的条目。 
右键单击“默认 Web 站点”,指向新建,然后单击虚拟目录。 在向导中,按照下列步骤操作: 
系统提示时,在虚拟目录别名文本框中键入 XMLTest,然后单击下一步。 
当提示您键入 Web 站点内容目录时,单击浏览,选择新创建的 XMLTest 目录,然后单击下一步。 
在提示您选择访问权限时,选择读和运行脚本(例如 ASP)。 本例中不需要其他任何访问权限。单击下一步以完成向导。 
双击“默认 Web 站点”。
右键单击新的虚拟目录,然后单击属性。
在目录选项卡上,检查在应用程序设置下面的应用程序名文本框中是否列出了 Web 站点名称(在步骤 6a 中键入的名称)。如果未列出,请单击创建以创建该应用程序。 
关闭属性对话框和 IIS。 
3. Windows 2000 XML 示例代码
在开始菜单上,指向程序,指向附件,然后单击记事本。
选定以下代码,右键单击所选内容,然后单击复制。在记事本中,单击编辑菜单上的粘贴,将以下代码添加到该文件中: 
<% 

'Very Important : Set the ContentType property of the Response object to text/xml.

Response.ContentType = "text/xml"

Dim cn 
Dim rs 
Dim xmlDoc 

Set cn=Server.CreateObject("ADODB.Connection")
Set rs=Server.CreateObject("ADODB.Recordset") 

'Replace the ADO Connection string attributes
'in the following line of code to point to your
'instance of SQL Server, and to specify the 
'required security credentials for User ID and Password.

cn.Open "Provider=SQLOLEDB.1;" & _
        "User ID=<userid>;" & _
        "Password=<password>;" & _
"Initial Catalog=pubs;" & _
        "Data Source=<servername>"

rs.CursorLocation = 3
rs.Open "Select * from Authors",cn

'Persist the Recorset in XML format to the ASP Response object. 
'The constant value for adPersistXML is 1.

rs.Save Response, 1

%>
在第 20 行代码中,将 <userid> 替换为您的用户名。
在第 21 行代码中,将 <password> 替换为您的密码。
在第 23 行代码中,将 <servername> 替换为您的 SQL Server。
在文件菜单上,单击保存。
在保存在下拉列表框中,浏览到您在前面创建的 Xmltest 文件夹。 在文件名文本框中,键入 Xmlw2k.asp,并在保存类型下拉框中单击所有文件。最后单击保存以保存该文件。
若要查看该页