【发布时间】:2015-08-12 21:09:36
【问题描述】:
我正在尝试使用 XPath 和 XSLT 从 'student' 节点读取 'class' 节点的 'division' 属性。
<class division="myDiv">
<student rollno="700">
<firstname>Renjith</firstname>
<lastname>R</lastname>
<nickname>Renju</nickname>
<marks>70</marks>
</student>
<student rollno="493">
<firstname>fname1</firstname>
<lastname>lname1</lastname>
<nickname>nick1</nickname>
<marks>95</marks>
</student>
</class>
我的条件是,如果名字是'Renjith',则读取'class'节点的'division'属性,我认为它是student节点的父节点。
我使用以下 xpath 来检查名字是否是 'Renjith'
//student[firstname/text() = 'Renjith']
我在名字是'Renjith'的学生节点。现在我需要从'class'节点获取划分属性的值,它是学生节点的父节点。 我可以使用以下 xpath 表达式来实现结果。
1)parent::class/@division
or
2)ancestor::class/@division
我有两个问题。
1. b/w 表达式 1 和 2 有什么区别?
2.有什么方法可以在不指定父节点名称“class”的情况下获得“division”属性?
我知道“../@division”可以解决问题。但我的目的是研究 xpath 轴。
【问题讨论】: