首页 > 解决方案 > XSL for-each 只显示第一个标签

问题描述

我有以下 XML 代码:

<pregunta tipo="bool" id="A03" tema="2">
    <enunciado>¿Distingue el lenguaje HTML mayúsculas/minúsculas?</enunciado>
    <respuesta>1- Sí</respuesta>
    <respuesta>2- No</respuesta>        
</pregunta>

这个 XSL 代码:

<body>
    <xsl:for-each select="pregunta">
        <xsl:value-of select="enunciado" />
        <xsl:value-of select="respuesta" />
    </xsl:for-each>
</body>

我想为每个“pregunta”标签打印“enunciado”标签和所有“respuesta”标签,但它只显示第一个“respuesta”标签。我该如何解决这个问题?

标签: xmlxsltxpath

解决方案


respuesta您应该以某种方式迭代,例如使用xsl:for-each

<body>
    <xsl:for-each select="pregunta">
        <xsl:value-of select="enunciado" />
        <xsl:for-each select="respuesta">
            <xsl:value-of select="." />
        </xsl:for-each>
    </xsl:for-each>
</body>

推荐阅读