我已经尝试过在线阅读各种教程,但是在解决这个问题上却一事无成,这很容易描述,但是我无法想到一个解决方案.
这是一些示例XML:
<AAA>
<BBB>
<CCC>1</CCC>
<CCC>2</CCC>
</BBB>
<BBB>
<CCC>3</CCC>
<CCC>4</CCC>
</BBB>
</AAA>
我希望能够选择最后一个< CCC>换句话说,我希望能够拉出< CCC> 2< CCC> < CCC> 4< CCC>.我已经尝试了无数表达式来实现这一目标,但是我能做的最好的就是获得最后的< CCC> (包含4个).
似乎// BBB / CCC [last()]应该工作,但显然它选择了所有BBB子代的CCC(总共4个),然后才处理last()谓词-因此只返回一个元素< CCC> 4< / CCC>
这真让我发疯!谁能给我看看光?非常感谢!!
解决方法:
/AAA/BBB/CCC[position() = last()]
// BBB / CCC [position()= last()]和// CCC [position()= last()]似乎也起作用.我在这里找到了一个不错的xpath测试站点:http://www.whitebeam.org/library/guide/TechNotes/xpathtestbed.rhtm