如何使用xslt编码分离xml中的分隔值
在我们的应用程序中,我们使用xslt编码将输入xml转换为输出xml。 我正在使用下面的代码。但它只分隔分号前的第一个字段。 同样地,我希望分离输出xml中的每个值,以便可以将尾随空格或前导零添加到所需的字段中。SINO是我们的供应商编号,删除的值是其值,如价格等 如何分离每个值并写入同一个xml标记 我的意见:如何使用xslt编码分离xml中的分隔值,xslt,Xslt,在我们的应用程序中,我们使用xslt编码将输入xml转换为输出xml。 我正在使用下面的代码。但它只分隔分号前的第一个字段。 同样地,我希望分离输出xml中的每个值,以便可以将尾随空格或前导零添加到所需的字段中。SINO是我们的供应商编号,删除的值是其值,如价格等 如何分离每个值并写入同一个xml标记 我的意见: <UserArea> <Property> <NameValue name="SINO">852963;
<UserArea>
<Property>
<NameValue name="SINO">852963;20210406;1520.00;1520.00;0.00;2789 852963
2021 FAIRVIEW L</NameValue>
</Property>
<Property>
<NameValue name="SINO">TEST12345;20210406;1000.00;1000.00;0.00;2789
TEST12345 2021 FAIRVIEW L</NameValue>
</Property>
</UserArea>
852963;20210406;1520.00;1520.00;0.00;2789 852963
2021年美景湖
测试12345;20210406;1000.00;1000.00;0.00;2789
TEST12345 2021美景L
我尝试的XSLT代码是:
<xsl:for-each
select="./*:CreditTransferPayment/*:PaymentTransaction/*:UserArea/*:Property/*:NameValue">
<FGIACHFlat>
<field1>
<xsl:value-of select="'D'" />
<xsl:call-template name="AddTrailingSpaces">
<xsl:with-param name="string" select="substring(substring-before(.
[@name='SINO'],';'),1)" />
<xsl:with-param name="length" select="24" />
</xsl:call-template>
<xsl:value-of select="(substring-after(.[@name='SINO'],';'),';')" />
</field1>
</FGIACHFlat>
</xsl:for-each>
电流输出我是这样得到的,但我不想这样
<FGIACHFlat>
<field1>D852963 20210406;1520.00;1520.00;0.00;2789 852963 2021 FAIRVIEW L ;</field1>
</FGIACHFlat>
<FGIACHFlat>
<field1>DTEST12345 20210406;1000.00;1000.00;0.00;2789 TEST12345 2021 FAIRVIEW L ;</field1>
</FGIACHFlat>
D852963 20210406;1520.00;1520.00;0.00;27898529632021Fairview L;
DTEST12345 20210406;1000.00;1000.00;0.00;2789测试12345 2021美景L;
我现在已经让它工作了。
我使用的xslt代码是。
我的意见是:
852963 ; 20210406;000000001520.00;000000001520.00;000000000000.00;2789 852963 2021美景镇L
测试12345;20210406;000000001000.00;000000001000.00;000000000000.00;2789测试12345 2021美景镇L
我得到的预期结果是:
D852963 20210406000000001520.00000000001520.00000000000000.002789 2021美景湖852963
DTEST12345 20210406000000001000.000000000011000.00000000000000.002789测试12345 2021 FAIRVIEW L
我在应用程序中应用了一些逻辑,并通过xslt编码保留了这些逻辑。
我想通过xslt编码应用所有逻辑,但我对xslt编码是新手。
现在它对我有用。
谢谢当前输出我采用这种方式,但不希望采用这种方式。D852963 20210406;1520.00;1520.00;0.00;27898529632021Fairview L;DTEST12345 20210406;1000.00;1000.00;0.00;2789测试12345 2021美景L;1.请不要在评论中发布代码。编辑您的问题并添加预期结果。2.说明您将使用哪个XSLT处理器。请向我们显示您想要的输出,并显示函数的代码
AddTrailingSpaces
。