1
这里是我的示例XML,我想使用xslt将所有元素转换为属性。我是新来的XSLT和到目前为止,我已经解决了人的元素转换为属性:将所有元素转换为属性
<xsl:template match="person">
<person>
<xsl:for-each select="*">
<xsl:attribute name="{name()}">
<xsl:value-of select="text()"/>
</xsl:attribute>
</xsl:for-each>
</person>
</xsl:template>
但我有问题,CONCAT它转换小队元素属性在一起。
例如输入:
<squad>
<competitionId>12345asdf</competitionId>
<contestantId>1234avhj</contestantId>
<person>
<name>Abc</firstName>
<lastName>Fgh</lastName>
<middleName></middleName>
<id>dfghfgdhjgfhjk3425dz</id>
</person>
<person>
<firstName>Dcb</firstName>
<lastName>Has</lastName>
<middleName></middleName>
<id>dfghfgdhjgfhjk1234dz</id>
</person>
</squad>
输出示例:
<squad contestantId="1234avhj" competitionId="12345asdf">
<person id="dfghfgdhjgfhjk3425dz" firstName="Abc" middleName="" lastName="Fgh"/>
<person id="dfghfgdhjgfhjk1234dz" firstName="Dcb" middleName="" lastName="Has"/>
</squad>