Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 如何在重复父节点下选择特定的最后一个节点值 有人请给我[XPath或模板],在那里我需要得到最后一个ID的值。在名字节点的根下,我需要考虑名字四个名字> < /P>_Xml_Xslt_Xpath - Fatal编程技术网

Xml 如何在重复父节点下选择特定的最后一个节点值 有人请给我[XPath或模板],在那里我需要得到最后一个ID的值。在名字节点的根下,我需要考虑名字四个名字> < /P>

Xml 如何在重复父节点下选择特定的最后一个节点值 有人请给我[XPath或模板],在那里我需要得到最后一个ID的值。在名字节点的根下,我需要考虑名字四个名字> < /P>,xml,xslt,xpath,Xml,Xslt,Xpath,在下面的示例中,我需要的值是GREEN3,只考虑4个名字中的前4个和最后一个id。请给我提供代码片段 <NAMES> <NAME> <ID>GREEN1</ID> </NAME> <NAME> <ID2>GREEN6</ID2> </NAME> <NAME> <ID>GREEN2</ID> </NAM

在下面的示例中,我需要的值是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>   

根据您提供的内容,您可以尝试以下内容

  <xsl:template match="NAMES" >
    <xsl:value-of select="NAME[4]/ID"/>
  </xsl:template>

由于只考虑前四个名称,并且您需要第四个名称id,因此您可以直接转到该节点并获取该值。

您的问题不太清楚。如果你只想考虑前四个名字,在这个组中得到最后一个ID,那么你可以使用:

select="(/NAMES/NAME[position() &lt;=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>

绿色1绿色6绿色2绿色3绿色4绿色5名称[PositionThank saurav..我并不是在寻找第四个名字..我是在寻找ID出现在前四个名字的最后..你的答案将只返回第四个名字ID..如果有..这不是我的情况..除此之外,可能还有像ID_2 undur name这样的元素如果没有4个名字节点会发生什么?换句话说,我需要要获取前4个名称的最后一个ID值,名称可以是4..3..2..或..1除了名称下的ID之外,还有可能是ID或ID2,但我需要从任何名称获取最后一组ID是的,可能是