这个XPath表达式有什么问题

时间:2014-04-07 09:23:43

标签: xpath xforms xpath-2.0

我想在一个名为&table;' table1'的重复表中显示学生。当用户点击其中一个时,将显示学生注册的详细信息。

我尝试了这个,从表中取出索引然后我将注册实例中的学生ID与学生实例中的id进行了比较。

   <xf:repeat nodeset="/instance('enrollInstance')/enrollment[Student_idStudent=student[index('table1')]/idStudent]">

我写这个

时没有显示任何内容
  <xf:output ref="Course_idCourse"/>

其中Course_idCourse是注册

中的元素

xml文件看起来像这样

  </enrollment>
       <Course_idCourse>1</Course_idCourse>
       <Student_idStudent>2</Student_idStudent>
       <year>2014</year>
       <Semester>1</Semester>
       <mark>50</mark>
       <idEnrollment>1</idEnrollment>
  </enrollment>

有一个看起来像这样的学生xml文件

<Student>
 <idStudent />
</Student>

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

问题(基于该示例XML)是您的目标是一个不存在的节点。看着这一点:

/enrollment[Student_idStudent=student[index('table1')]/idStudent]

您正在寻找一个enrollment节点,该节点具有Student_idStudent子元素,并具有后续子idStudent元素。

然而,在示例XML中,您有一个enrollment元素,其中Student_idStudent子元素包含文本,但其中没有子元素。所以Xpath永远不会匹配任何东西。