如何使用<xsl:if>检查xml节点名称

use*_*243 10 xml xslt

我有一个像这样的xml文件.

<RootTag>
    <Form>
        <Section>
             <Annex>
                <Group>
                        <Label value = "Name"></Label>
                        <Text Value = "Enter Name"></Text>
                </Group>
                <Group>
                        <Label value = "Gender"></Label>
                       <Radio Value = "Male||Female"></Text>
                </Group>
            </Annex>
        </Section>
    </Form>
</RootTag>
Run Code Online (Sandbox Code Playgroud)

现在在我的xsl中,我必须检查标签是否是<Text>,<Radio><input>根据该结果生成标签.

有什么可以使用的<xsl:if>吗?喜欢<xsl:if test = 'node = <Text>'>

小智 21

<xsl:if test="name() = 'Form'">
Run Code Online (Sandbox Code Playgroud)

但是,还有其他方法可能更好:

一种是为这个项目使用模板; 如果您想以这种方式查看,XSLT引擎将自动执行测试.

<xsl:template match="Form">
Run Code Online (Sandbox Code Playgroud)

另一种是使用self::

<xsl:for-each select="self::Form">
Run Code Online (Sandbox Code Playgroud)