ASP / XML 示例
本文分为以下部分:
系统数据源名称 (DSN) 提供对 ASP 页和其他数据客户方法与数据库进行交互。
注意 : 需要是管理员才能创建系统 DSN。
1. | 创建新文件夹命名 WebData 文件夹包含为默认 Web 站点内容中。 这是 <drive>: 默认 \InetPub\WWWRoot 文件夹。 |
2. | 将 NorthWind 示例数据库 (Nwind.mdb) 复制到该新文件夹。 要安装 NorthWind 示例数据库, 安装示例附带 Microsoft Visual Studio 6.0 和 Microsoft Office。 Visual Studio 6.0 安装程序在 <drive> 安装 Nwind.mdb: \ ProgramFiles\Microsoft Visual Studio\VB98 默认。 |
3. | Microsoft Windows 2000, 上, 指向 程序 , 指向 管理工具 , 依次 打开数据源 (ODBC) 开始 。
控制面板中在 Microsoft Windows 95、 Microsoft Windows 98 和 MicrosoftWindowsNT, 打开数据源 (ODBC)。 |
4. | 在 系统 DSN 选项卡, 单击 添加 。 |
5. | 单击 MicrosoftAccessDriver (*.mdb) , 然后单击 完成 。 |
6. | 单击 选择 。 WebData 文件夹, 中单击 NorthWind 数据库, 并单击 确定 。 |
7. | DataSourceName@@ @ 文本框中键入 NORTHWIND , 然后单击 确定 。 |
8. | 单击 确定 以退出数据源 (ODBC)。 |
XML 数据, 到好视图创建 XSL 样式表设置数据格式。
1. | 在记事本, 粘贴以下 XSL 代码:<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="uri:xsl">
<xsl:template match="/">
<HTML>
<HEAD><TITLE>XML TEST</TITLE></HEAD>
<BODY>
<TABLE BORDER="1">
<xsl:for-each select="//RECORD">
<TR>
<xsl:for-each select="FIELD">
<TD><xsl:value-of select="VALUE"/></TD>
</xsl:for-each>
</TR>
</xsl:for-each>
</TABLE>
</BODY>
</HTML>
</xsl:template>
</xsl:stylesheet>
|
2. | 作为 Xmltest.xsl WebData 文件夹中保存网页。 |
因为 ASP 可格式化以多种方式, 数据库中数据可以从数据是在数据库中找到该输出 XML。
1. | 在记事本, 粘贴以下 XSL 代码:<% @ Language="VBScript" %>
<%
' Declare all variables.
Option Explicit
Dim objCN,objRS,objField
Dim strSQL,strCN
Dim strName,strValue
' Buffer and output as XML.
Response.Buffer = True
Response.ContentType = "text/xml"
' Start our XML document.
Response.Write "<?xml version=""1.0""?>" & vbCrLf
Response.Write "<?xml:stylesheet type=""text/xsl"" href=""xmltest.xsl""?>" & vbCrLf
' Set SQL and database connection string.
strSQL = "SELECT * FROM Customers"
strCN = "DSN=NORTHWIND"
' Open the database connection and recordset.
Set objCN = Server.CreateObject("ADODB.Connection")
objCN.Open strCN
Set objRS = objCN.Execute(strSQL)
' Output start of data.
Response.Write "<DATABASE>" & vbCrLf
' Loop through the data records.
While Not objRS.EOF
' Output start of record.
Response.Write "<RECORD>" & vbCrLf
' Loop through the fields in each record.
For Each objField in objRS.Fields
strName = objField.Name
strValue = objField.Value
If Len(strName) > 0 Then strName = Server.HTMLEncode(strName)
If Len(strValue) > 0 Then strValue = Server.HTMLEncode(strValue)
Response.Write "<FIELD>" & vbCrLf
Response.Write "<NAME>" & strName & "</NAME>" & vbCrLf
Response.Write "<VALUE>" & strValue & "</VALUE>" & vbCrLf
Response.Write "</FIELD>" & vbCrLf
Next
' Move to next record in database.
objRS.MoveNext
' Output end of record.
Response.Write "</RECORD>" & vbCrLf
Wend
' Output end of data.
Response.Write "</DATABASE>" & vbCrLf
%>
|
2. | 作为 Xmltest.asp WebData 文件夹中保存网页。 |
在 InternetExplorer, 键入
http://localhost/WebData/xmltest.asp 地址栏中。 使用示例数据库中 Customers 表中信息的 HTML 表格出现。 但是, 如果查看源代码以页, 您看到只, ASP 页生成 XML 数据。 这是因为 InternetExplorer 加载 XML 数据, 然后检索 XSL 样式表设置实际出现输出格式。
此外, XML 数据和 XSL 样式表是通用设计以允许自定义简单数据中。 例如, 您可能修改 SQL 文本, 如下所示:
strSQL = "SELECT * FROM Employees"
此更改数据库表使用, 并代码示例仍然正常。