使用 xsl 对 xml 文档进行动态排序,分页显示的扩展

本文介绍了一个使用XSL对XML文档进行动态排序和分页显示的例子。通过VBScript和SQL Server 2000的ForXML功能,从数据库获取XML数据,并利用ASP页面实现展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在 http://www.asptoday.com/articles/20000724.htm 有非常好的例子,是关于
  使用 xsl 对 xml 文档进行动态排序,分页显示的。
  主要使用三个文件:
  default.asp 把 xml, xsl 文件串起来
  getxml.asp 对 default 来说相当于 xml
  sample.xsl 主要的格式编排工作在这里做
  ===================================================
  我们可以再进一步拓展这个巨酷的例子:
  1。把 getxml.asp 写好。但我们的真正工作不在 asp 里做。我们用 vb。
   这样一会我们就可以把这个贴子一稿多投到 VB 论坛。
   形如: 
ExpandedBlockStart.gifContractedBlock.gif   <%dot.gif@ Language=VBScript %> 
ExpandedBlockStart.gifContractedBlock.gif   
<SCRIPT LANGUAGE=vbscript RUNAT=Server>dot.gif 
InBlock.gif   Dim oMyTool 
InBlock.gif   Dim sXML 
InBlock.gif   Set oMyTool 
= Server.CreateObject("MyPackage.MyComponent"
InBlock.gif   sXML 
= oMyTool.GetData() 
InBlock.gif   
InBlock.gif   Response.ContentType
="text/xml" 
InBlock.gif   Response.Write sXML 
InBlock.gif   
InBlock.gif   set oMyTool 
= nothing 
ExpandedBlockEnd.gif   
</SCRIPT> 

   
  2。 在 VB 中我们使用 SQL 2000 的 for XML 来得到所需的 XML String。 
  
None.gifPublic Function GetData() As Variant 
None.gif   
None.gif   
Dim oConn As ADODB.Connection 
None.gif   
Dim oCmd As Command 
None.gif   
Dim oRS As ADODB.Recordset 
None.gif   
Dim myStream As ADODB.Stream 
None.gif   
'Dim strConn As String 
None.gif
   Dim strXML As String 
None.gif   
None.gif   
Set oConn = New ADODB.Connection 
None.gif   oConn.Open (GetConnectionString) 
None.gif   
None.gif   
Set oCmd = New ADODB.Command 
None.gif   oCmd.ActiveConnection 
= oConn 
None.gif   
None.gif   
Set myStream = New ADODB.Stream 
None.gif   myStream.Open 
None.gif   
None.gif   oCmd.Properties(
"Output Stream"= myStream 
None.gif   
None.gif   oCmd.CommandText 
= "SELECT EmployeeID, LastName, FirstName, BirthDate, Notes " & _ 
None.gif   
"FROM Employees FOR XML auto" 
None.gif   
None.gif   oCmd.Execute , , adExecuteStream 
None.gif   myStream.Position 
= 0 
None.gif   strXML 
= myStream.ReadText 
None.gif   strXML 
= "<RET>" & strXML & "</RET>" 
None.gif   
None.gif   GetData 
= strXML 
None.gif   
None.gif   
Set oCmd = Nothing 
None.gif   oConn.Close 
None.gif   
Set oConn = Nothing 
None.gif   
None.gif  
End Function 
None.gif

  =============================
  有两点要注意,一是 sql for xml auto 比较土,我们需要自己加上个 root。
  二是我使用 GetConnectionString 获得 sql conn str 是因为把该 str
  放在了 COM+ Construction string 里。这样一会我们就可以把这个贴子一稿多投到
  COM 论坛和多层结构论坛,还有安全性论坛,当然还有 SQL 论坛。
  
  我们只需要对 sample.xsl 稍作修改就可以显示我们的数据了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值