0

我有以下类似的节点集,我希望以简洁的方式从每个节点集中获得价值。如果我给 XPATH,它会同时作为单个字符串并给出低于 203205 和 USIND 的值。我希望它分开清晰。如 203、205 或美国、IND。请记住,大小是动态的,我无法事先知道值来制作子字符串和提取。我必须在节点级别进行区分。请建议。

<ResultNode>
    <PIN>202</PIN>
    <COUNTRY>US</COUNTRY>
</ResultNode>
<ResultNode>
    <PIN>203</PIN>
    <COUNTRY>IND</COUNTRY>
</ResultNode>

问候。

4

1 回答 1

0

您没有提到您正在使用的 XSLT/XPath 版本。

在 XPath 2.0 中你可以做

string-join(//PIN, ', ')

产生输出

202, 203

在 XSLT 2.0 中你可以做

<xsl:value-of select="//PIN" separator=", " />

例如,在 XSLT 1.0 中,您可以这样做

<xsl:for-each select="//PIN">
    <xsl:value-of select="." />
    <xsl:if test="position()!=last()">
        <xsl:text>, </xsl:text>
    </xsl:if>
</xsl:for-each>
于 2013-09-27T13:51:57.790 回答