XSLT - 过滤

2 xslt xpath

我有一个像这样重复的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)

如您所见,每个项目可以有不同数量的颜色标记.

我希望只获得前两个项目的所有颜色标签.

Tom*_*lak 5

<xsl:template match="xml">
  <xsl:apply-templates select="item[position() &lt; 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)