您好如何在以下xml中转换以下空元素标记
<LIST_R7P1_1>
<R7P1_1>
<ORIG_EXP_PRE_CONV />
<EXP_AFT_CONV />
<GUARANTEE_AMOUNT />
<CREDIT_DER />
</R7P1_1>
</LIST_R7P1_1>
使用xslt 采用以下格式
<LIST_R7P1_1>
<R7P1_1>
<ORIG_EXP_PRE_CONV >0<ORIG_EXP_PRE_CONV />
<EXP_AFT_CONV >0<EXP_AFT_CONV />
<GUARANTEE_AMOUNT >0<GUARANTEE_AMOUNT />
<CREDIT_DER >0<CREDIT_DER />
</R7P1_1>
</LIST_R7P1_1>
答案 0 :(得分:0)
由于您没有发布任何自己的代码(即您已经尝试过的代码),我会告诉您如何在不提供代码的情况下解决问题:Google“XSL identity transform”,然后添加一些特定的模板对于要更改的标记。特定模板需要在添加文本子节点时“复制”输入节点及其属性。
答案 1 :(得分:0)
此样式表:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="*[not(node())]">
<xsl:copy>0</xsl:copy>
</xsl:template>
</xsl:stylesheet>
使用此输入:
<LIST_R7P1_1>
<R7P1_1>
<ORIG_EXP_PRE_CONV />
<EXP_AFT_CONV />
<GUARANTEE_AMOUNT></GUARANTEE_AMOUNT>
<CREDIT_DER></CREDIT_DER>
</R7P1_1>
</LIST_R7P1_1>
输出:
<LIST_R7P1_1>
<R7P1_1>
<ORIG_EXP_PRE_CONV>0</ORIG_EXP_PRE_CONV>
<EXP_AFT_CONV>0</EXP_AFT_CONV>
<GUARANTEE_AMOUNT>0</GUARANTEE_AMOUNT>
<CREDIT_DER>0</CREDIT_DER>
</R7P1_1>
</LIST_R7P1_1>
但是,使用相同的输入,这个XPath表达式:
sum(/LIST_R7P1_1/R7P1_1/*/text())
结果:
0