当前位置: 首页 > 图文教程 > 网络编程 > ASP > 如何使用context()方法将数据置入表格(XML)

ASP
二文件上传,才30行代码
用ASP制作在线测试
三级下拉框连动的数据库版
用户注册及跟踪代码(一)
用户注册及跟踪代码(二)
用户注册及跟踪代码(三)
ASP.Net写的浏览器间谍
ASP实现播放Flash的例子
用DataList控件开发一个简单的留言本程序
aspemail组件的应用
编写数据库脚本
用ASP建立邮件列表
用ASP技术编制隐藏用户密码程序
用ASP统计用户在站点的停留时间
HTTP方式上载文件的ASP程序实例
使用VB编写纯ASP程序
用ASP统计用户在站点的停留时间(1)
用ASP统计用户在站点的停留时间(2)
用ASP实现论坛的UBB功能(一)
用ASP实现论坛的UBB功能(二)

ASP 中的 如何使用context()方法将数据置入表格(XML)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 135 ::
收藏到网摘: n/a

  作者:Belltree

<singers>
  <singer>Celine Dion</singer>
  <singer>Britney Spears</singer>
  <singer>Enya</singe>
  <singer>Christina Aguilera</singer>
  <singer>Backstreet Boys</singer>
  <singer>Spice Girls</singer>
</singers>
一般我们取出一组数据后都喜欢将数据放入一个表格中,这样会方便数据比较和阅读。但XSL并没有提供一种机制来进行任
意的分组。所以必须使用xsl:if结合context() 来完成这项工作。下面的例子返回一个两列的表格。

<TABLE BORDER="1">
  <xsl:for-each select="singers/singer">
    <xsl:if expr="(childNumber(this) % 2) == 1">
      <TR>
        <TD><xsl:value-of /></TD>
        <TD><xsl:value-of select="../singer[index() $gt$ context()!index()][0]"/></TD>
      </TR>
    </xsl:if>
  </xsl:for-each>
</TABLE>
如果你要返回一个三列的例子,你就要加一个新的类似的代码,只让每三个元素才产生新的一行。由此你可以推断一个需
要n列的表格如何实现。

<TABLE BORDER="1">
  <xsl:for-each select="singers/singer">
    <xsl:if expr="(childNumber(this) % 3) == 1">
      <TR>
        <TD><xsl:value-of /></TD>
        <TD><xsl:value-of select="../singer[index() $gt$ context()!index()][0]"/></TD>
        <TD><xsl:value-of select="../singer[index() $gt$ context()!index()][1]"/></TD>
      </TR>
    </xsl:if>
  </xsl:for-each>
</TABLE>