XSL如何取得过滤过的子集的特定节点

No_1gogo 2008-02-20 11:47:20
我想取得满足<xsl:if test="global='1'">之后的第一个节点的值,应该怎么写?
如下代码会取出所有的global是1的节点,但是我只需要一个,求大大帮忙:

<xsl:for-each select="page/rowset/row">
<xsl:if test="global='1'">
<tr>
<td>
<xsl:value-of select ="." />
</td>
</tr>
</xsl:if>
</xsl:for-each>
...全文
61 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ToperRay 2008-02-22
  • 打赏
  • 举报
回复
没那么复杂

<xsl:template match="/">
<xsl:value-of select ="(//page/rowset/row[global='0'])[1]" />
</xsl:template>
fcuandy 2008-02-22
  • 打赏
  • 举报
回复
csdn的im有点问题,刚才才看到信息,不好意思.
No_1gogo 2008-02-21
  • 打赏
  • 举报
回复
比如说,我想取一个global=0的Company的值,但是这个company是XML里按顺序下来的第一个被取到的值,在如下的XML中,就应该是company为B被取到。该XML由SQL query自动生成,不可更改。求大大帮忙。

<page>
<rowset>
<row>
<company>A</company>
<address>A</address>
<global>1</global>
</row>
<row>
<company>B</company>
<address>B</address>
<global>0</global>
</row>
<row>
<company>C</company>
<address>C</address>
<global>0</global>
</row>
</rowset>
</page>

cds27 2008-02-21
  • 打赏
  • 举报
回复

<xsl:template match="/">
<xsl:apply-templates select="page/rowset/row[global='1']" />
</xsl:template/>

<xsl:template match="row">
<xsl:if test="postion()=1">这就是你要的</xsl:if>
</xsl:template>
ToperRay 2008-02-20
  • 打赏
  • 举报
回复
既然要取一个为什么要用for-each?

把xml贴上来吧。

8,906

社区成员

发帖
与我相关
我的任务
社区描述
XML/XSL相关问题讨论专区
社区管理员
  • XML/XSL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧