我在源XML中有这些数据:
<Firma ID_FIRMY="15" ROLE_FIRMY="O " KOD_FIRMY="Tomášov">
这是我的XSL:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="utf-8" indent="no"/>
<xsl:template match="root/Firma">
<MoneyData>
<xsl:copy-of select="@ID_FIRMY"/>
<xsl:copy-of select="@KOD_FIRMY"/>
</MoneyData>
</xsl:template>
</xsl:stylesheet>
这是我的XML输出:
<?xml version="1.0" encoding="utf-8"?>
<MoneyData ID_FIRMY="15" KOD_FIRMY="Tomášov"/>
但是我需要这个输出:(更改名称..)
<?xml version="1.0" encoding="utf-8"?>
<MoneyData KodAgendy="15" HospRokOd="Tomášov"/>
我该怎么做?
答案 0 :(得分:2)
编写模板以转换属性:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="utf-8" indent="no"/>
<xsl:template match="root/Firma">
<MoneyData>
<xsl:apply-templates select="@* | node()"/>
</MoneyData>
</xsl:template>
<xsl:template match="Firma/@ID_FIRMY">
<xsl:attribute name="KodAgendy"><xsl:value-of select="."/></xsl:attribute>
</xsl:template>
<xsl:template match="Firma/@KOD_FIRMY">
<xsl:attribute name="HospRokOd"><xsl:value-of select="."/></xsl:attribute>
</xsl:template>
<xsl:template match="@ROLE_FIRMY"/>
</xsl:stylesheet>