我有两个DropDownList:1)CollegeDDL,其中包含四个学院的静态名称。 :顺势疗法医学院,物理治疗学院,阿育吠陀研究所,工商管理学院
2)CourseDDL绑定到CourseDetail.XML。
<Institutes>
<Institute>
<InstituteName> Homoeopathic Medical College </InstituteName>
<Course> <CourseName> BHMS </CourseName> </Course>
<Course> <CourseName> MD(Repertary) </CourseName> </Course>
<Course> <CourseName> MD(Organon of Medicine) </CourseName> </Course>
<Course> <CourseName> MD(Materia Medica) </CourseName> </Course>
</Institute>
<Institute>
<InstituteName> Physiotherapy College </InstituteName>
<Course> <CourseName> BPT </CourseName> </Course>
<Course> <CourseName> BPT(Sports) </CourseName> </Course>
<Course> <CourseName> BPT(Cardio) </CourseName> </Course>
</Institute>
<Institute>
<InstituteName> Institute of Ayurved </InstituteName>
<Course> <CourseName> BAMS </CourseName> </Course>
<Course> <CourseName> BAMS(Nature) </CourseName> </Course>
<Course> <CourseName> BAMS(Plants) </CourseName> </Course>
</Institute>
<Institute>
<InstituteName> Institute of Business Administration </InstituteName>
<Course> <CourseName>BBA</CourseName> </Course>
<Course> <CourseName>DBM</CourseName> </Course>
<Course> <CourseName>BBA(Distance)</CourseName> </Course>
</Institute>
CourseDetail.XSL
<xsl:template match ="/">
<Institute>
<xsl:apply-templates select ="Institutes/Institute/Course"/>
</Institute>
</xsl:template>
<xsl:template match ="Institutes/Institute/Course">
<Institute>
<xsl:attribute name="CourseName">
<xsl:value-of select="CourseName"/>
</xsl:attribute>
</Institute>
</xsl:template>
我已将Coursedetail.XML绑定到CourseDDL和CourseDetail.XSL(无XPATH表达式)
执行此操作后,My CourseDDL正确填充了我的XML文件的所有CourseName值。 但现在我想根据在CollegeDDL中选择的College Name过滤绑定到CourseDDL的数据。
例如:目前我的CourseDDL包含所有课程名称:BHMS,MD(Repertary),MD(医学组织),......,DBM,BBA(距离)。
但是当我在CollegeDDL中选择“Homoeopathic Medical College”时,绑定到CourseDDL的数据应该相应地过滤。 这意味着当我选择“Homoeopathic Medical College”时,我的CourseDDL应仅显示该课程:BHMS,MD(Repertary),MD(医学组织),MD(Materia Medica)
我尝试了以下方法,但无法实现。
1) XmlDataSourceCourse.XPath = "/Institutes/Institute[InstituteName='" + CollegeDDL.SelectedItem.Value + "']"
2) XmlDataSourceCourse.XPath = "/Institutes/Institute[InstituteName='" + CollegeDDL.SelectedItem.Value + "']/Course"
3)XmlDataSourceCourse.XPath = "/Institutes/Institute[InstituteName='" + CollegeDDL.SelectedItem.Value + "']/Course/CourseName"
任何人请帮助格式化正确的XPATH表达式以实现此目的。
答案 0 :(得分:0)
我认为帕维尔是对的,问题是空间 - 尝试:
/Institutes/Institute[normalize-space(InstituteName)='" + CollegeDDL.SelectedItem.Value + "']/Course/CourseName
甚至
/Institutes/Institute[normalize-space(InstituteName)=normalize-space('" + CollegeDDL.SelectedItem.Value + "')]/Course/CourseName