我有这个数量的xml货币字段是这样的..
<?xml version="1.0" encoding="UTF-8"?>
-<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03">
-<GrpHdr>
<MsgId>XMLV225022016Q2</MsgId>
<Amount>10000</Amount>
<Currency>USD</Currency>
</GrpHdr>
</Document>
但我想在下面显示它们......
<?xml version="1.0" encoding="UTF-8"?>
-<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03">
-<GrpHdr>
<MsgId>XMLV225022016Q2</MsgId>
<Amount Currency="USD">10000</Amount>
</GrpHdr>
</Document>
如何实现这一目标?
谢谢
答案 0 :(得分:0)
请尝试以下XSLT
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:t="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03" version="1.0">
<xsl:output method="xml" indent="yes" />
<xsl:strip-space elements="*"/>
<!-- identity transform -->
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()" />
</xsl:copy>
</xsl:template>
<xsl:template match="t:Amount">
<xsl:copy>
<xsl:attribute name="{local-name(../t:Currency)}">
<xsl:value-of select="../t:Currency" />
</xsl:attribute>
<xsl:value-of select="." />
</xsl:copy>
</xsl:template>
<xsl:template match="t:Currency" />
</xsl:stylesheet>
这给出了
以下的输出<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03">
<GrpHdr>
<MsgId>XMLV225022016Q2</MsgId>
<Amount Currency="USD">10000</Amount>
</GrpHdr>
</Document>