美文网首页
XPath语言

XPath语言

作者: 墨线宝 | 来源:发表于2023-07-22 17:25 被阅读0次

    XPath语言

    XPath语言是一门专门用于在XML文档中查找信息的语言,可以与其他XML解析工具来结合,使用路径表达式来选取XML文档中的节点或者节点集

    XPath节点

    XPath中的节点类别有

    • XML 文档根节点
    • 元素节点
    • 属性节点
    • 处理指令节点
    • 注释节点
    • 命名空间节点
    • 文本节点

    语法

    XPath语言使用路径表达式来定位XML文档中的节点或节点集

    每个XPath表达式是由多个步组成的,多个步之间用斜线分隔

    如/mapper/resultMap/id表示的是mapper根元素下resultMap子元素中包含的id子元素

    步的语法

    步由三部分组成,其语法格式为

    轴::节点测试[限定谓语]
    

    用于定义所选节点与当前节点之间的结构关系,如父子、后代等

    ancestor 选取当前节点的所有先辈(父、祖父等)。
    ancestor-or-self 选取当前节点的所有先辈(父、祖父等)以及当前节点本身。
    attribute 选取当前节点的所有属性,可用@符号代替
    child 选取当前节点的所有子元素,默认轴,可省略
    descendant 选取当前节点的所有后代元素(子、孙等),可用//代替
    descendant-or-self 选取当前节点的所有后代元素(子、孙等)以及当前节点本身。
    following 选取文档中当前节点的结束标签之后的所有节点。
    namespace 选取当前节点的所有命名空间节点。
    parent 选取当前节点的父节点,可用..代替
    preceding 选取文档中当前节点的开始标签之前的所有节点。
    preceding-sibling 选取当前节点之前的所有同级节点。
    self 选取当前节点,可用.代替
    节点测试

    用于选取指定轴内部的部分节点

    nodename 从指定轴匹配所有节点中选出具有nodename的节点
    node() 选择指定轴匹配的所有类型的节点
    text() 选择指定轴匹配的所有文本类型的节点
    comment() 选择指定轴匹配的所有注释节点
    processing-instruction 选择指定轴匹配的所有处理指令节点
    * 节点测试的通配符,用于指定不对指定轴进行任何过滤
    限定谓语

    用于对轴和节点测试所匹配的节点集进行进一步限定,每个步中可以接受零个或多个限定谓语,放在方括号中,限定谓语是一个boolean表达式

    child:book[position()=1]
    

    https://zhhll.icu/2022/xml/XPath/

    本文由mdnice多平台发布

    相关文章

      网友评论

          本文标题:XPath语言

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