2016-09-21 18 views
0

xmlとxslに問題があります。これは私が私の仕事で持っているものです。最後の金額をプリントアウト

<InvoiceList> 
    <Invoice> 
     <ItemId>111-111</ItemId> 
     <InvoiceAmount>6160</InvoiceAmount> 
    </Invoice> 
    <Invoice> 
     <ItemId>222-222</ItemId> 
     <InvoiceAmount>4840</InvoiceAmount> 
    </Invoice> 
</InvoiceList> 

私はXSLでこのインスタンスを使用します。プリントアウトオン

<xsl:value-of select="format-number(//Task/InvoiceList/Invoice[ItemId]/InvoiceAmount, '###,###.00')"/> 

私は6,160.00を得るが、私は、任意の第二の量のうち、4840

を印刷したいですどのようにこれを行うアイデア?

ありがとうございます!あなたがここにlast()機能を使用することができ

よろしく、 ゾラン

答えて

1

...

​​

注意あなたがこれを行う場合は、(括弧の欠如に気づく)...

<xsl:value-of 
    select="format-number(//Task/InvoiceList/Invoice[ItemId]/InvoiceAmount[last()], '###,###.00')"/> 

次に、文書内の各Invoiceアイテムに対して、そのような各要素の下に最後の子InvoiceAmountが見つかります。 (XSLT 1.0では、複数のノードを選択すると、format-number関数は最初のものだけを出力します.XSLT 2.0で同じことを試みた場合、エラーが発生します)。

+0

これはうまくいった!どうもありがとう!私は間違った場所に[last()]を置いていました... –

+0

違いを説明しようと私の答えを修正しました.... –

関連する問題