通过xsl:for-each过滤关键字获取所有数据

时间:2015-12-11 10:22:28

标签: xml xslt

你好,我猜的是一个相当简单的问题。我希望通过检查特定关键字获得所有积分。

我有这个XML:

<Series>
    <Series Name="Dollar">
        <Points>
            <DataPoint XValue="2000" YValues="1.37984" />
            <DataPoint XValue="2001" YValues="1.38572" />
        </Points>
    </Series>
    <Series Name="Pond">
        <Points>
            <DataPoint XValue="2000" YValues="0.7235" />
            <DataPoint XValue="2001" YValues="0.7251" />
        </Points>
    </Series>
</Series>

我想从所有数据点中检索x和y值,具体取决于系列名称(Dollar或Pond)。

我尝试过这样的事情:

<xsl:for-each select="//DataPoint">
    <xsl:value-of select="//Series[@Name='Dollar']/@XValue" />
</xsl:for-each>

但我没试过的任何工作。也许有人可以指导/帮助我吗?

1 个答案:

答案 0 :(得分:1)

您拥有正确的表达式//Series[@Name='Dollar'],只能在for-each中使用它,例如

<xsl:for-each select="//Series[@Name='Dollar']//DataPoint">
    <xsl:value-of select="@XValue" />
</xsl:for-each>