zoukankan      html  css  js  c++  java
  • 强大的XPath(一)

      记录下我那记忆中尘超过封的强大的的XPATH.它那曾经的辉煌让我抓毛。可是现在感觉都要OUT了,可能是我自己的感觉吧,自己用得少了吧!

      XPath 是一门在 XML 文档中查找信息的语言。XML是它最为亲密的Friend。XPath 可用来在 XML 文档中对元素和属性进行遍历。 XQuery 和 XPointer 同时被构建它的基础上, 因此,它在很多地方还是有很多好处的。说下它的主要语言构成元素。

      1:XPath路径

      它的路径表达式和我们在电脑文件系统中看到的表达式非常相似。甚至比文件系统更为精确。XPath 使用路径表达式用来选取 XML 文档中的节点或者多个节点的集合。节点是通过遍历XML文档中的元素路径来选取的。

    最常用的路径表达式如下(没找到插入表格的按钮,groubox中居然不换行,排版得很难看)

    代码
    节点名(nodename):选择nodename下所有子节点

     
    /     从根节点选取

    //     从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置

    .      选取当前节点

    ..     选择当前节点的父节点

    @    选取属性

    上实例先 ,下面为一测试XML文档 ,结构为:学校->班级{年级,班主任}

    代码
    <?xml version="1.0" encoding="uft8"?>
    <school>
    <class>
      
    <grade number="0302">三年二班</grade>
      
    <master>李老师</master>
    </class>
    <class>
      
    <grade number="0601">六年一班</grade>
      
    <master>王老师</master>
    </class>
    </school>

     

    测试路径表达式:

    代码
     测试路径表达式:

     school   : 选择school元素下所有子节点(学校下所有班级)

    /school   :  / 开头表示绝对路径,表示选择根节点school(选择单个学校)

    school
    /class  : 选择school下所有class的子元素,(选择学校所有班级下的所有子节点)

    //class   : 选取所有 class 子元素,而不管它们在文档中的位置

    school
    //class : 选择school下所有class节点,而不管它们位于 school之下的什么位置

     
    //@number  : 选取所有名为 number的属性,(选择所有班级编号)

     school/class[number='0302']/master : 找出班级编号为"0302"的班级的班主任


     看得出来,XPath非常强大,有了表达式,我们不需要在遍历XML文档结构来找出你需要的值的。

      未完待续.....


  • 相关阅读:
    【转载】如果你看完这篇文章还不懂计算机时间,那就掐死我吧
    记录 C#中 LINQ 和 SQL 语句 的一些操作数据集合
    记录mysql 存储过程中循环临时表
    记录一个有趣的dotnet开源库。
    将Quartz.Net用于ASP.NET Core 3.0应用程序中的,并实现通过依赖注入获取其他服务
    web api中接收 复杂类型数组参数(对象数组参数)
    网页支付宝支付,通过form表单提交,在苹果手机上无法跳转
    阿里云服务器上搭建FTP服务器,连接时出现:读取目录列表失败的解决办法
    css选择器及float(浮动)
    盒子四大元素
  • 原文地址:https://www.cnblogs.com/repository/p/1611854.html
Copyright © 2011-2022 走看看