• xpath


    1 什么是xpath

    xpath是xml path的缩写,它是一种表达式语言,用于定位xml树中的结点。

    2 “/”和“//”的区别

    比如"/html/body",取出来的就是该html的body部分所有的内容。

    “/”是用来构成绝对路径的,从root结点开始。

    “//”是相对寻址的,比如//p,会找到html中的所有的<p></p>,无论它们在什么位置。

    3 predicate

    方括号[xxx]被称为predicate,它作用于一个子集合,用于进一步缩小该子集合的范围。

    比如://list/item,将会将list node下所有的item node都选定,但是如果加上一个predicate,//list/item[@lang],那么就加了一个条件,该item必须有@lang这个属性,这样将不满足条件的item node给剔除掉了。

    4 axis

    axis是用来进行更加精准定位的。axis定义了一个相对于当前node的一个node  set,也就是说,它基于的对象是node。

    首先通过绝对路径定位一个比较好定位的node,然后通过axis进行精准定位。

    例如:

    //div[@id='div1']/child::img

    首先找到id为div1的div,然后找到它所有的child node中名字为img的node。

    5 xml的node

    5.1 基本的node

    element node和attribute node

    <bookstore> (root element node)

    <author>J K. Rowling</author> (element node)

    lang="en" (attribute node)

    5.2 node之间的关系,axis就是用的node之间的关系进行的定位

    parent,每个element node和attribute node都只有一个parent。

    child,每个element node有0个、1个或者多个child node。

    ancester,所有的祖先的集合,一直到root node。

    descendant,所有的child的集合,一直到叶子,即到属性node。

    6 有用的函数

    6.1 last()

    一个集合中的最后一个元素,用于predicate中。

    6.2 text()

    获取一个node中的text()。

    7 表达式

    >,=,|

    “|”两个集合的并集。

    8 一个path中使用了两个“//”是什么意思

    两个都是任意的意思,只是前面一个的任意的范围比后面一个要大,后面一个任意是在前面的基础上进一步任意。

  • 相关阅读:
    php ajax 表格排序,调整列宽,修改内容
    Jquery隐藏式评论
    还是一个鼠标点击td变成input,失去焦点更新数据库
    Jquery php 点击td变成input,修改后失去焦点发送数据
    hdu 1713 相遇周期 比较绕的最大公约,最小公倍问题
    hdu 1722 Cake (抽象出欧几里得)
    提供Webservice的地方
    实现汉字转拼音
    java 注解
    c#获取汉字的拼音首字母
  • 原文地址:https://www.cnblogs.com/hustdc/p/7798927.html
Copyright © 2020-2023  润新知