如何使用xsl识别我的xml中是否存在节点?

时间:2011-05-16 09:08:07

标签: xml xslt

我有这个xml

<game>
 <genre>
  <action>...</action>
  <racing>...</racing>
 <price>
..
..
 </price>
</genre>
</game>

我想使用xsl检查xml中是否存在price节点。我怎样才能做到这一点?如果价格节点存在,则调用特定template其他人调用另一个template

1 个答案:

答案 0 :(得分:2)

您只需调用xsl:apply-templates并将匹配属性设置为元素名称即可。如果元素存在,则调用模板。它不存在,模板不会被调用。 如果你试图建立一个if-else语句,你可以像这样检查存在

<xsl:choose>
    <xsl:when test="boolean(price)">
        <!-- do something -->
    </xsl:when>
    <xsl:otherwise>
        <!-- do something else -->
    </xsl:otherwise>
</xsl:choose>

因此,您可以检查元素的存在并做出相应的反应。