我正在寻找XLST以编辑xml文件。如标题中所述,我想使用“名称”属性的名称重命名我的商品。
我的xml文件:
jq -s '
.[0].fields as $f | add | .fields += $f
' base.avsc schema1.avsc
我想要的输出xml文件:
<doe name="titi">
<bob name="toto">blabla</bob>
<bob name="tutu">blabla </bob>
</doe>
我尝试了几件事,但被发回了“属性”名称“值不正确”
<titi>
<toto>blabla</toto>
<tutu>blabla </tutu>
</titi>
或
<xsl:element name="@bob">
<xsl:value-of select="$bob" />
</xsl:element>
答案 0 :(得分:1)
按照您的要求输入代码
<xsl:template match="doe">
<xsl:element name="{@name}">
<xsl:for-each select="bob">
<xsl:element name="{@name}"><xsl:value-of select="."/></xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:template>
答案 1 :(得分:1)
尝试一下:
<xsl:template match="*[@name]">
<xsl:element name="{@name}">
<xsl:apply-templates/>
</xsl:element>
</xsl:template>