1

次の xml を指定します。

<Ergebnisse>
    <Spiel>
        <Datum>2013-10-02</Datum>
    </Spiel>
    <Spiel>
        <Datum>2013-10-03</Datum>
    </Spiel>
    <Spiel>
        <Datum>2013-10-03</Datum>
    </Spiel>
    <Spiel>
        <Datum>2013-10-03</Datum>
    </Spiel>
    <Spiel>
        <Datum>2013-10-06</Datum>
    </Spiel>
    <Spiel>
        <Datum>2013-10-06</Datum>
    </Spiel>
    <Spiel>
        <Datum>2013-10-06</Datum>
    </Spiel>
    <Spiel>
        <Datum>2013-10-06</Datum>
    </Spiel>
    <Spiel>
        <Datum>2014-05-01</Datum>
    </Spiel>
    <Spiel>
        <Datum>2014-05-01</Datum>
    </Spiel>
    <Spiel>
        <Datum>2014-04-27</Datum>
    </Spiel>
</Ergebnisse>

ここで、「データム」で最も高い日付値を知る必要があります。Python と lxml を使用しているため、Xpath 1.0 でしか作業できません。私は試した:

//Spiel[not (Datum < preceding::Spiel/Datum) and not (Datum < following::Spiel/Datum)]/Datum

ただし、すべての値を返します。私に何ができる?ありがとう!

4

1 に答える 1

0

XSLT 1.0 では、値をソートして最後の値を取ることができます。

<xsl:for-each select="Speil/Datum">
  <xsl:sort select="."/>
  <xsl:if test="position()=last()"><xsl:value-of select="."/></xsl:if>
</xsl:for-each>

XPath だけでそれを試みるつもりはありません。XPath 1.0 しかない場合は、すべての値を返し、Python ホスト言語で抽出を行います。

于 2013-10-02T09:54:33.537 に答える