对于每个奇数行xsl

时间:2012-12-29 14:52:26

标签: xslt xpath

我如何为所有奇数行做每个? 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]" />

1 个答案:

答案 0 :(得分:1)

您的基本技术(使用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>

您的问题可能与特定的上下文有关,但您并不是您所期望的;但由于你没有显示其余的代码,我们无法帮助你。