2011-05-16 65 views
1

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

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

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

回答

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> 

所以,你可以检查元素的存在,并作出相应的反应。

+0

谢谢,它解决了我的问题 – abi1964 2011-05-16 09:19:39

+0

关于此问题的一些文档:http://www.w3.org/TR/xpath-functions/#func-boolean http://msdn.microsoft.com/en-us/library /ms256159.aspx – 2013-01-28 17:08:09

相关问题