我有一个像这样重复的xml树 -
<xml>
<head>this is a sample xml file</head>
<item><color>yellow</color><color>red</color></item>
<item><color>blue</color></item>
<item><color>grey</color><color>red</color><color>blue</color></item>
</xml>
Run Code Online (Sandbox Code Playgroud)
如您所见,每个项目可以有不同数量的颜色标记.
我希望只获得前两个项目的所有颜色标签.
<xsl:template match="xml">
<xsl:apply-templates select="item[position() < 3]/color" />
</xsl:template>
<xsl:template match="color">
<xsl:copy-of select="." />
</xsl:template>
Run Code Online (Sandbox Code Playgroud)
应用于您的XML会产生:
<color>yellow</color>
<color>red</color>
<color>blue</color>
Run Code Online (Sandbox Code Playgroud)