xpath

作者: Aedda | 来源:发表于2021-04-29 16:05 被阅读0次
    1. //NODE[not(@class)] 所有节点名为node,且不包含class属性的节点
    2. //NODE[@class and @id] 所有节点名为node,且同时包含class属性和id属性的节点
    3. //NODE[contains(text(),substring] 所有节点名为node,且其文本中包含substring的节点
    //A[contains(text(),\"下一页\")] 所有包含“下一页”字符串的超链接节点
    //A[contains(@title,"文章标题")] 所有其title属性中包含“文章标题”字符串的超链接节点
    4. //NODE[@id="myid"]/text() 节点名为node,且属性id为myid的节点的所有直接text子节点
    5. BOOK[author/degree] 所有包含author节点同时该author节点至少含有一个的degree孩子节点的book节点
    6. AUTHOR[.="Matthew Bob"] 所有值为“Matthew Bob”的author节点
    7. //*[count(BBB)=2] 所有包含两个BBB孩子节点的节点
    8. //*[count(*)=2] 所有包含两个孩子节点的节点
    9. //*[name()='BBB'] 所有名字为BBB的节点,等同于//BBB
    10. //*[starts-with(name(),'B')] 所有名字开头为字母B的节点
    //*[ends-with(@name,'C')]
    11. //*[contains(name(),'C')] 所有名字中包含字母C的节点
    12. //*[string-length(name()) = 3] 名字长度为3个字母的节点
    13. C节点或BBB节点BBB 所有CC
    14. /child::AAA 等价于/AAA
    15. //CCC/descendant::* 所有以CCC为其祖先的节点
    16. //DDD/parent::* DDD节点的所有父节点  # //*[@id="custrecord_shipping_gh_fs_lbl_uir_label"]/parent::*/span[2]
    17. //BBB[position() mod 2 = 0] 偶数位置的BBB节点
    18. AUTHOR[not(last-name = "Bob")] 所有不包含元素last-name的值为Bob的节点
    19. P/text()[2] 当前上下文节点中的P节点的第二个文本节点
    20. ancestor::BOOK[1] 离当前上下文节点最近的book祖先节点
    21. //A[text()="next"] 锚文本内容等于next的A节点
    
    XPath轴(XPath Axes)可定义某个相对于当前节点的节点集: 
    1、child 选取当前节点的所有子元素 
    2、parent 选取当前节点的父节点 
    3、descendant 选取当前节点的所有后代元素(子、孙等) 
    4、ancestor 选取当前节点的所有先辈(父、祖父等) 
    5、descendant-or-self 选取当前节点的所有后代元素(子、孙等)以及当前节点本身 
    6、ancestor-or-self 选取当前节点的所有先辈(父、祖父等)以及当前节点本身 
    7、preceding-sibling 选取当前节点之前的所有同级节点 
    8 选取当前节点之后的所有同级节点 
    9、preceding 选取文档中当前节点的开始标签之前的所有节点 
    10、following 选取文档中当前节点的结束标签之后的所有节点 
    11、self 选取当前节点 
    12、attribute 选取当前节点的所有属性 
    13、namespace 选取当前节点的所有命名空间节点 
    

    相关文章

      网友评论

          本文标题:xpath

          本文链接:https://www.haomeiwen.com/subject/shswrltx.html