选择名称的副本

时间:2014-06-25 11:36:46

标签: c# xml xslt

我在源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"/>

我该怎么做?

1 个答案:

答案 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>