当前位置:  开发笔记 > Android > 正文

仅使用XPath选择第一个实例?

如何解决《仅使用XPath选择第一个实例?》经验,为你挑选了2个好方法。

我正在解析一些像这样的XML:


    
    
        ...
        stuff I want
        ...
    
    
    
    
        ...
        stuff I don't want
        ...
    
    

一个XPath '//dupe_node'会给我两个dupe_node玩的例子.我只想穿越第一个.我可以用XPath做到这一点吗?



1> 小智..:
/descendant::dupe_node[1]

//dupe_node[1]虽然在这种特殊情况下会产生相同的结果,但通常是错误的.查看文档:

位置路径// para [1]与位置路径/ descendant :: para [1]的含义不同.后者选择第一个后代para元素; 前者选择所有后代的para元素,这些元素是他们父母的第一个孩子.

给出以下XML:


    
    
        
    

//bar[1] 将产生两个节点,因为两个条形图是它们各自父母的第一个子节点.

/descendant::bar[1] 将只提供一个节点,这是文档中所有条形的第一个节点.



2> Simon Willis..:
//dupe_node[1]

在这种情况下,XPath从1开始计数,而不是0.您可以使用此工具在浏览器中尝试:

http://www.xmlme.com/XpathTool.aspx?mid=82

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