日期:2014-05-18  浏览次数:20737 次

请教一个XPath的写法
请问怎样在XML文档中,找到最后一个以p开头的XML元素呢

//*[starts-with(name(),'p')] ,这是找到以p开头的XML元素,那么"最后一个"应该用什么方法来表示呢,last()吗,last好像是没有参数的,应该放在哪边呢?

------解决方案--------------------
摘自msdn

last() 函数对集合中的最后一个元素返回 True。 注意,last 相对于父节点。 

示例
表达式 引用
book[last()]
 最后一个 <book> 元素。
 
book/author[last()]
 每个 <book> 元素内的最后一个 <author> 元素。
 
(book/author)[last()]
 <book> 元素内整个 <author> 元素集中的最后一个 <author> 元素。
 

------解决方案--------------------
var nodes = xmlDoc.SelectNodes("(//*[starts-with(name(),'p')])[last()]");