美文网首页
XPath 入门

XPath 入门

作者: 缭雾 | 来源:发表于2016-08-19 09:57 被阅读253次

参考自http://www.w3school.com.cn/xpath/index.asp

基本概念

  • Node

    
    <?xml version="1.0" encoding="ISO-8859-1"?>
    
    <bookstore>  //文档节点
    
    <book>
      <title lang="en">Harry Potter</title>
      <author>J K. Rowling</author>  //元素节点
      <year>2005</year>
      <price>29.99</price>
    </book>
    
    </bookstore>
    
    

    <bookstore> (文档节点)

    <author>J K. Rowling</author> (元素节点)

    lang="en" (属性节点)

  • 基本值 (或称原子值,Atomic value)

    • J K. Rowling 就是基本值
  • 节点关系

    • Parent 每个元素都有一个父

      • book 元素是 title、author、year 以及 price 元素的父:
    • Children 元素节点可能有0个一个或多个子。

    • 同胞(Sibling)

      • title、author、year 以及 price 元素都是同胞:
    • 先辈(Ancestor):某节点的父、父的父,等等。

      • title 元素的先辈是 book 元素和 bookstore 元素

XPath语法

        <?xml version="1.0" encoding="ISO-8859-1"?>
        <bookstore>
        <book>
        <title lang="eng">Harry Potter</title>
        <price>29.99</price>
        </book>
        <book>
        <title lang="eng">Learning XML</title>
        <price>39.95</price>
        </book>
        </bookstore> 
  • nodename 获取所有节点的子节点

    • jiXML?.xPath("book")
  • / 从根节点选取

    • jiXML?.xPath("/bookstore")选取根元素 bookstore。
  • // 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。

    • jiXML?.xPath("//title")
    • bookstore//book 选择属于 bookstore 元素的后代的所有 book 元素
  • @ 选取属性

    • jiXML?.xPath("//@lang")

谓词

  • 选择已知节点

    • /bookstore/book[1]
    • /bookstore/book[last()]
    • /bookstore/book[last()-1]
    • /bookstore/book[position()<3]
    • //title[@lang]
    • //title[@lang='eng']
    • /bookstore/book[price>35.00]
    • /bookstore/book[price>35.00]/title
  • 选择位置节点

    • *匹配任何元素节点。
      • /bookstore/* : 选取 bookstore 元素的所有子元素。
      • //* 选取文档中所有元素
    • @* 匹配任何属性节点
      • //title[@*] : 选取所有带有属性的 title 元素。
  • 取出若干路径 : 通过在路径表达式中使用“|”运算符,您可以选取若干个路径

    • //book/title | //book/price
    • //title | //price

相关文章

  • JSONPath入门及测试

    JSONPath入门 JSONPath - 是xpath在json的应用,是参照xpath表达式来解析XML文档的...

  • Xpath(入门)

    XPath介绍 XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属...

  • XPath 入门

    参考自http://www.w3school.com.cn/xpath/index.asp 基本概念 Node

  • xpath入门

    XPath表达式的含义 /html/head/title : 选择 HTML 文档中 标签内的 元素/html...

  • 拒绝撕逼,用数据来告诉你选择器到底哪家强

    背景 前几天写了一篇文章,爬虫入门到精通-网页的解析(xpath) - 知乎专栏然后有人问我,xpath速度比bs...

  • [爬虫基础] XPath 入门

    XPath是什么?XPath 的全称为 XML Path LanguageXPath使用路径形式的格式来标识XML...

  • Python解析库lxml与xpath用法总结

    本文主要围绕以xpath和lxml库进行展开: 一、xpath 概念、xpath节点、xpath语法、xpath轴...

  • xpath库详解

    xpath入门 python爬虫抓取网页内容,需要对html或xml结构的数据进行解析,如果用正则,单是写正则表达...

  • 2018-07-22

    xml入门 xml概述 xml的基本概念/应用场景和优势 xml文档规则 命名空间 xpath语言详解 操作xml...

  • Python+Selenium之元素定位XPATH

    XPATH简介: 参考网站:W3school selenium之xpath源码 xpath各种实际用法 XPATH...

网友评论

      本文标题:XPath 入门

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