xpath

谁说胖子不能爱 提交于 2020-02-15 10:45:37

什么是xml?

  1. 定义: 可扩展标记性语言(EXtensible Markup Language)
  2. 特定: xml是具有自描述特性的半结构化数据。
  3. 作用: xml主要用来传输数据

xml和html的区别

  1. 语法要求不同: xml的语法要求更严格

    1. 在html中不区分大小写,在xml中严格区分

    2. 在html中,有时不严格,如果上下文清楚地显示出段落或者列表键在何处结尾,那么你可以省略

      或者
    3. 标记。在xml中,是严格的树状结构,绝对不能省略任何标记
      1. 在xml中,拥有单个标记二没有匹配的结束标记的元素必须用一个/字符作为结尾
      2. 在xml中,属性值必须分装在引号中。在html中,引号可用可不用
      3. 在html中属性名可以不带属性值,xml必须带
      4. xml文档中,空白部分不会被解析器自动删除,但是html是过滤掉空格的
  2. 标记不同

    1. html使用固有的标记,xml没有固有标记
    2. html标签是预定义的,xml标签是自定义的、可扩展的
  3. 作用不同

    1. html是用来显示数据
    2. xml使用来传输数据的

xpath: 路径表达式

  1. xpath: 是用来筛选html或者xml中元素语法

  2. xml和html中一些名词

  3. 选取节点

    表达式 描述
    nodename 选取此节点的所有子节点
    / 从根节点选取(绝对路径)
    // 从任意节点选取(相对路径)
    . 选取当前节点
    . . 选取当前节点的父节点
    @ 选取属性
  4. 谓语

    路径表达式 结果
    //book[1] 第一个 book 元素
    //book[last()] 最后一个 book 元素
    //book[last()-1] 倒数第二个 book 元素
    //book[position()>1] 不要第一个 book 元素
    /a[@href] 根下有href属性的a元素
    /a[@title=“title”] 根下title="title"的a元素
    /book[price>2]//a 根下book的price属性>2的所有a元素
  5. 选取多个路径

    “|” : 表示"和"

    ​ 例: “/a | //input” : 选取根下的a元素和所有的input元素

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!