• xpath


     1     // 使用xpath解决路径的问题
     2     public static void findAnswer(File file)throws Exception{
     3         // 10.1获取解析器
     4         SAXReader reader = getReader();
     5         // 10.2解析文档
     6         Document doc = reader.read(file);
     7         Element name = (Element) 
     8 doc.selectSingleNode("/linkmans/linkman[1]/linkman/name");
     9         System.out.println(name.getText()); 
    10     }

    否则要以下解决,以下解决太杂乱。以下代码缺点:

    发现如果需要遍历一个比较深的元素节点,那么需要多次的element()。

    如:存储一个自己的隐私文件需要建立100个文件夹吗?

    那么如果路径比较长需要进行路径访问的方式的优化。

    如果在DOM4J进行解析查找元素可以使用类似Windows中的路径模式来查找元素那么就变得简单且高效。

     1 // 获取linkman中的linkman
     2     public static void findQuestion(File file)throws Exception{
     3         // 10.1获取解析器
     4         SAXReader reader = getReader();
     5         // 10.2解析文档
     6         Document doc = reader.read(file);
     7         Element inner_name = doc.getRootElement()  // 获取根元素
     8 .element("linkman")        // 获取第一个linkman元素
     9 .element("linkman")        // 获取第一个linkman中的第一个linkman元素
    10 .element("name");             // 获取上面的name元素
    11         System.out.println(inner_name.getText());
    12     }
    View Code

    Xpath简介

    Xpath是一个独立的一个路径语言,主要的目的是为了查找路径中的元素。

    那么DOM4J默认支持Xpath的路径查找。

    常用的方法有以下的两种:

    selectNodes(“xpath”)            à 查询指定路径的所有的元素

    selectSingleNode(“xpath”)     à 查询指定路径的第一个元素

       常用的Xpath路径写法

    /AAA            指定从XML文档的根开始写路径

    //BBB             指定从整个XML中搜索满足的元素名

    /AAA/CCC/DDD/* 指定路径下所有的元素

    //*                 指定获取所有的元素

    /AAA/BBB[1]  指定路径下的第一个元素,一定是以1开始的

    /AAA/BBB[last()]  指定路径下的最后一个元素

    //@id        指定要获取的属性元素

    //BBB[@id]           指定带属性的元素

    //BBB[@id='b1']   指定属性值的元素

    //BBB[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]

  • 相关阅读:
    位图索引(Bitmap Index)的故事
    Oracle 用户管理
    Linux中hosts文件的修改
    oracle 错误码 ORA-00119 / ORA-00130
    Oracle 外键约束
    Oracle Basic Ready Notes
    SQL语句Tips
    AWK 简明教程
    JObject对json的操作
    C#Stopwatch的使用,性能测试
  • 原文地址:https://www.cnblogs.com/friends-wf/p/3725657.html
Copyright © 2020-2023  润新知