如何使用XSLT 1.0,如何總結給定節點下的子節點,同時用另一組節點中的數據以優雅的方式修改內容?假設我有這個xml:如何使用來自其他節點的計算數據來彙總節點
<Root>
<ExchangeRates>
<ExchangeRate>
<CurrencyCode>USD</CurrencyCode>
<Rate>6.4</Rate>
</ExchangeRate>
<ExchangeRate>
<CurrencyCode>EUR</CurrencyCode>
<Rate>8.44</Rate>
</ExchangeRate>
<ExchangeRate>
<CurrencyCode>SEK</CurrencyCode>
<Rate>1</Rate>
</ExchangeRate>
</ExchangeRates>
<Prices>
<Price>
<Currency>SEK</Currency>
<Amount>10000</Amount>
</Price>
<Price>
<Currency>EUR</Currency>
<Amount>1000</Amount>
</Price>
<Price>
<Currency>USD</Currency>
<Amount>1000</Amount>
</Price>
</Prices>
</Root>
我想要在ExchangeRates的幫助下轉換成SEK的所有金額的總和。結果應該是:
<SumInSEK>24840</SumInSEK>
如果我不需要轉換金額,我只需使用xpath sum()函數。在這種情況下可以使用該功能嗎?
不錯,我選擇使用這個解決方案。從中學到了一點。我很好奇的兩件事:爲什麼在價格模板中使用mode屬性而不是匹配模式?爲什麼在price_SEK節點名稱之前有兩個斜線? – Ogawa 2013-05-03 10:33:22
這個小例子也可以在沒有模式的情況下工作。但是,如果您必須使用「價格」標籤執行其他操作,則仍然可以添加其他價格模板(不含模式)。你是正確的一個斜線會做。 (似乎我是一個粗心大意的人) – 2013-05-03 11:59:20