当前位置:  开发笔记 > 编程语言 > 正文

如何在xpath 1.0中选择第n项?

如何解决《如何在xpath1.0中选择第n项?》经验,为你挑选了2个好方法。

我有一些XML和XPath查询.我正在使用Yahoo! 小部件,所以我使用的是XPath 1.0.

这是我的XML的要点......


    
        
            speak.swf 
            250 
            150 
            cccccc 
        
        
            inertia.swf 
            380 
            130 
            9a9a9a 
        
        
            swing.swf 
            380 
            130 
            9A9A9A 
        
        ....

现在......如果我运行此查询:

"root/cat/movie/swf"

我得到42个结果,所有'swf'节点都是正确的.

但是,如果我只想要第6个,我希望能够做到:

"root/cat/movie/swf[6]"

但我得到一个包含0个节点的列表.

奇怪的是,使用[1](而没有其他值)会产生我所有42个节点的列表.

显然,我在这里遗漏了一些非常重要的东西.有谁看到它是什么?



1> Marc Gravell..:

我想知道你的意思是:

"root/cat/movie[6]/swf"

(获得第6部电影的SWF)

或者:

"(root/cat/movie/swf)[6]"

(找到所有的movie/swf元素,并选择第6个)

当每部电影只有一个swf时,两者是相同的; 如果一部电影有零个或多个swf元素,那么这两个查询会略有不同......


值得注意的是,指数是基于1的.

2> Tomalak..:
"root/cat/movie/swf[6]"

指上下文中的每个第6个节点"root/cat/movie".

每个只有一个节点.

你的意思是:

"root/cat/movie[6]/swf"

推荐阅读
保佑欣疼你的芯疼
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有