我有以下XML结构:
<Car>
<BMW>
<Price>100</Price>
</BMW>
</Car>
<Car>
<TOYOTA>
<Price>100</Price>
</TOYOTA>
</Car>
我希望用这样的文字转换它:
<xsl:if test="Car/BMW">
<xsl:value-of select="Car/BMW/Price" />§BMW§<xsl:value-of select="'
'"/>
</xsl:if>
<xsl:if test="Car/TOYOTA">
<xsl:value-of select="Car/TOYOTA/Price" />§TOYOTA§<xsl:value-of select="'
'"/>
</xsl:if>
问题是我是否可以在没有if条件的情况下做同样的事情。
答案 0 :(得分:1)
看起来你想要的是每个Price元素的一行,第二位文本取自该元素的父级的名称:
<xsl:for-each select="Car/*/Price">
<xsl:value-of select="concat(., '§', local-name(..), '§
')/>
</xsl:for-each>