2

我如何处理for-each所有奇数 行?XML 看起来像这样:

<dsQueryResponse ViewStyleID="" BaseViewID="" TemplateType="" RowLimit="">
  <Rows>
    <Row title="A"/>
    <Row title="B"/>
    <Row title="C"/>
    <Row title="D"/>
    <Row title="E"/>
    <Row title="F"/>
</Rows>
</dsQueryResponse>

这不起作用:

 <xsl:for-each  select="../Row[position() mod 2 =1]" />
4

1 回答 1

3

您的基本技术(使用position() mod 2)是正确的,如下面的完整样式表所示:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    <xsl:template match="/dsQueryResponse/Rows">
        <xsl:for-each  select="Row[position() mod 2 = 1]">
            <xsl:value-of select="./@title"/>
        </xsl:for-each>
    </xsl:template>
</xsl:stylesheet>

您的问题可能与您所期望的特定环境不同;但是由于您没有显示其余代码,因此我们无法帮助您。

于 2012-12-29T15:05:23.273 回答