如何选择基于'包含'的元素?使用xpath?

时间:2018-01-25 13:04:22

标签: xml xslt xpath

我使用这个特殊的XML来试验Xpath:

`<?xml version = "1.0"?>
<?xml-stylesheet type = "text/xsl" href = "students.xsl"?>
<class>
   <student rollno = "393">
      <firstname>Dinkar</firstname>
      <lastname>Kad</lastname>
      <nickname>Dinkar</nickname>
      <marks>85</marks>
   </student>
   <student rollno = "493">
      <firstname>Vaneet</firstname>
      <lastname>Gupta</lastname>
      <nickname>Vinni</nickname>
      <marks>95</marks>
   </student>
   <student rollno = "593">
      <firstname>Jasvir</firstname>
      <lastname>Singh</lastname>
      <nickname>Jazz</nickname>
      <marks>90</marks>
   </student>
</class>`

我想做的是在树中选择名字,只有当标记为85时才这样做。例如,选择第一个元素。我希望它是动态的,不要硬编码并选择我尝试过的第n个元素。

这可能吗?

1 个答案:

答案 0 :(得分:1)

以下XPath表达式选择与值为firstname的{​​{1}}元素位于同一级别的所有marks元素:

85

更通用的版本仅检查值中是否存在//firstname[../marks='85']

85