如何在忽略 xml 标签中的 NULL 值后按顺序获取 position()



当 xml 节点包含空值时,我在使用 xslt 在 html 中显示位置时遇到问题。xml的部分如下。预期输出为:

    1: 45
    2: abc
    3: 1
    <a>45</a>
    <a>null</a>
    <a>abc</a>
    <a>null</a>
    <a>null</a>
    <a>1</a>
    Thanks in advance.

给定格式正确的输入,例如:

<root>
    <a>45</a>
    <a>null</a>
    <a>abc</a>
    <a>null</a>
    <a>null</a>
    <a>1</a>
</root>

您可以使用:

<xsl:template match="root">
    <xsl:for-each select="a[not(.='null')]">
        <xsl:value-of select="concat(position(), ': ', .)" />
        <br/>
    </xsl:for-each>
</xsl:template>

产生:

1: 45<br/>2: abc<br/>3: 1<br/>

在 HTML 中将呈现为:

1: 45
2: abc
3: 1

相关内容

  • 没有找到相关文章

最新更新