你应该可以使用“// * [firstname =’Sheila’和position()< = 100]” 编辑: 给出以下XML:
Abu
Agartala
Agra
Ahmedabad
Ahmednagar
Aizwal
abcd
您可以使用以下XPath来获取前三个城市:
//cityList/*[position()<=3]
结果:
Node element0 Abu
Node element1 Agartala
Node element2 Agra
如果要将此限制为以元素开头的节点:
//cityList/*[substring(name(), 1, 7) = 'element' and position()<=3]
请注意,后一个示例有效,因为您正在选择cityList的所有子节点,因此在这种情况下,Position()可以按预期限制结果.如果cityList节点下混合了其他节点名称,则会产生不良结果.
例如,更改XML如下:
Abu
Agartala
Agra
Ahmedabad
Ahmednagar
Aizwal
abcd
并使用上面的XPath表达式,我们现在得到
Node element0 Abu
请注意,我们正在丢失第二个和第三个结果,因为position()函数正在以更高的优先级进行评估 – 与请求相同“给我前三个节点,现在这些节点给了我所有启动的节点与’元素’“.