有人可以给我[XPATH或模板]我需要获取最后一个ID的值。在名称节点的根目录中我需要考虑名称前四个名称]
在下面的示例中,我需要的值是GREEN3,只考虑前4个名称和4个最后一个ID。请提供代码片段
<NAMES>
<NAME>
<ID>GREEN1</ID>
</NAME>
<NAME>
<ID2>GREEN6</ID2>
</NAME>
<NAME>
<ID>GREEN2</ID>
</NAME>
<NAME>
<ID>GREEN3</ID>
</NAME>
<NAME>
<ID>GREEN4</ID>
</NAME>
<NAME>
<ID2>GREEN5</ID2>
</NAME>
</NAMES>
答案 0 :(得分:0)
根据您提供的内容,您可以尝试这样的内容
<xsl:template match="NAMES" >
<xsl:value-of select="NAME[4]/ID"/>
</xsl:template>
由于只考虑前四个名称,并且您需要第四个NAME ID,因此您可以直接转到该节点并获取该值。
答案 1 :(得分:0)
你的问题不太清楚。如果您只想考虑前四个名称,并获得该组中的最后一个ID,那么您可以使用:
select="(/NAMES/NAME[position() <=4]/ID)[last()]"
在以下示例中:
<NAMES>
<NAME>
<ID>a</ID>
</NAME>
<NAME>
<ID>b</ID>
</NAME>
<NAME>
<ID>c</ID>
</NAME>
<NAME>
<ID>d</ID>
</NAME>
<NAME>
<ID>e</ID>
</NAME>
</NAMES>
上面的表达式选择:
<ID>d</ID>
在这个例子中:
<NAMES>
<NAME>
<ID>a</ID>
</NAME>
<NAME>
<ID>b</ID>
</NAME>
<NAME>
<ID>c</ID>
</NAME>
<NAME>
<IDx>d</IDx>
</NAME>
<NAME>
<ID>e</ID>
</NAME>
</NAMES>
选择是:
<ID>c</ID>