<LIST_R7P1_1>
<R7P1_1>
<ORIG_EXP_PRE_CONV />
<EXP_AFT_CONV >34<EXP_AFT_CONV />
<GUARANTEE_AMOUNT />
<CREDIT_DER />
</R7P1_1>
</LIST_R7P1_1>
<total><xsl:value-of select="LIST_R7P1_1/R7P1_1/ORIG_EXP_PRE_CONV + LIST_R7P1_1/R7P1_1/EXP_AFT_CONV + LIST_R7P1_1/R7P1_1/GUARANTEE_AMOUNT + LIST_R7P1_1/R7P1_1/CREDIT_DER"/></total>
總的來說,我得到空值是因爲像<CREDIT_DER />, <ORIG_EXP_PRE_CONV />
等空元素。如何在使用xslt執行元素總和期間處理空元素
如何處理這樣我就可以得到一個數值
請建議
這種技術不適用於當總和節點不是所有文本後代的某些元素。查看我的答案,找到適用於所有情況的解決方案。 – 2010-08-25 13:33:35
@Dimitre:非常真實。我的回答是針對這個例子的。 – 2010-08-25 16:41:08
這個答案是錯誤的。在這裏你選擇一個singleton節點集,然後'fn:sum'將這個節點與'fn:number'結合起來得到總和。但是操作系統明確性要求'LIST_R7P1_1/R7P1_1/ORIG_EXP_PRE_CONV + LIST_R7P1_1/R7P1_1/EXP_AFT_CONV + LIST_R7P1_1/R7P1_1/GUARANTEE_AMOUNT + LIST_R7P1_1/R7P1_1/CREDIT_DER'。所以,除Dimitre之外的其他表達,將會是'sum(LIST_R7P1_1/R7P1_1/*/text())' – 2010-08-25 18:33:27