使用XSLT循环遍历列名并返回相应的数据

时间:2013-07-23 11:48:00

标签: xslt xslt-1.0

我有一个包含大量列的数据库表,所以要在XSLT中显示它们,我需要循环遍历所有列名并将它们带回来以及显示与这些列名对应的所有数据。

  <table class="list">
    <tr>
      <xsl:for-each select="Columns">
      <th>
        <xsl:value-of select="Name"/>
      </th>
      </xsl:for-each>
    </tr>

    <xsl:for-each select="Clients">
      <tr>
      <xsl:for-each select="/List/Columns">
        <xsl:variable name="var" select="Name"></xsl:variable>
        <td>
          <xsl:value-of select="$var"/>|
          <xsl:value-of select="/List/Clients/*[$var]"/>
        </td>
      </xsl:for-each>
      </tr>
    </xsl:for-each>


  </table>

表'列'返回列名称,表'客户'包含每列中的数据。 上面的代码成功显示了所有不同的列名。但是当尝试抓取数据并使用循环中包含的<xsl:value-of select="/List/Clients/*[$var]"/>显示数据时,只会返回第一列数据。

1 个答案:

答案 0 :(得分:0)

找到解决方案<xsl:value-of select="/List/Clients/*[$var]"/> 将由<xsl:value-of select="/List/Clients/*[local-name()=$var]"/>

替换