2014-04-07 151 views
0

我想在名爲'table1'的重複表中顯示學生。當用戶點擊其中一個人時,會顯示學生註冊的詳細信息。此XPath表達式有什麼問題

我嘗試了這一點,從表中索引,然後我將登記實例中的學生ID與學生實例中的ID進行比較。當我寫這篇文章

<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> 

元素有一個學生則顯示

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

什麼看起來像這樣的xml文件

<Student> 
<idStudent /> 
</Student> 

感謝您的幫助。

+1

顯示您要定位的XML源 – JWiley

+0

您是否還在使用1.0或2.0?無論哪種方式,沒有一個指標()操作 – JWiley

+0

指數()是特定於XForms的 –

回答

0

問題(基於該示例XML)是您針對的是不存在的節點。看着眼前這個位:

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

你正在尋找一個enrollment節點,具有Student_idStudent子元素,隨後有孩子idStudent元素。

但是在示例XML中,您有一個enrollment元素,其中Student_idStudent子元素包含文本,但其中沒有子元素。所以Xpath永遠不會匹配任何東西。

+0

感謝的功能,但學生並不在另一個XML文件存在(或實例我應該說)。當我寫下面的內容時,我得到了一個好結果'/ enrollment [Student_idStudent = 1]' –

+0

@ user1412823是的,那個查詢會因爲有一個'/ enrollment/Student_idStudent'節點,而且你沒有查詢任何子節點那。如果有另一個XML文件,我建議將其編輯到問題中,以便我們完全瞭解問題。 –

+0

謝謝我編輯了這個問題。 –