• dom4j之selectSingleNode方法


    dom4j之selectSingleNode方法

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yumolan4325/article/details/78833298
    1 dom4j中有一个方法可以根据xpath路径来得到Node。xpath路径是以根节点开始。如:/root/node1,该方法就是selectSingleNode(String xpath)返回第一个匹配xpath的Node
    如:SAXReader saxReader=new SAXReader();
    Document document=saxReader.read(new File(xmlFileString));
    String xpath="/MSE_CS20_V1.0/response";
    Node node=document.selectSingleNode(xpath);//这就是通过xpath来得到Node。是以根节点开始的/MSE_CS20_V1.0/response
    System.out.println("通过selectSingleNode来得到node:"+node.getName());


    2 该方法是返回Node。selectSingleNode是返回第一个匹配的Node。dom4j中可以得到根节点、通过节点来循环得到该节点的子节点、通过节点name来得到该节点Element。
    如:public void testSelectSingleNode(String xmlFileString){
    SAXReader saxReader=new SAXReader();
    try {
    Document document=saxReader.read(new File(xmlFileString));
    Element root=document.getRootElement();//得到根节点
    String rootName=root.getName();
    System.out.println("根节点:"+rootName);
    Element element_=(Element)root.elementIterator().next();//通过循环来得到
    String xpath="/"+rootName+"/"+element_.getName();
    System.out.println("xpath:"+xpath);
    Element element__=root.element(element_.getName());//通过节点name来得到该节点Element
    System.out.println("通过element方法类得到节点:"+element__.getName());
    Node node=document.selectSingleNode(xpath);
    System.out.println("通过selectSingleNode来得到node:"+node.getName());
    } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }


    总结:现在读取xml文件通过dom4j。可以得到根节点,通过节点来循环得到该节点的子节点,通过节点name来得到Element。通过xpath路径来得到Node(可以强制转化为Element)。




    3 通过selectSingleNode方法可以通过xpath路径来得到Node。可以强制转化为Element
    如:SAXReader saxReader=new SAXReader();
    Document document=saxReader.read(new File(xmlFileString));
    Node node=document.selectSingleNode(xpath);
    Element elemnt__=(Element)node;//强制转化为Element
    System.out.println(elemnt__.getName());


    综述,selectSingleNode通过xpath可以得到Node,也可以强制转化为Element,xpath是以/开始,从根节点开始,如:/MSE_CS20_V1.0/response。MSE_CS20_V1.0表示根节点,response是根节点下的子节点
  • 相关阅读:
    springboot事物和事物回滚
    MyBatis Sql语句中的转义字符
    使用 vagrant新建Linux虚拟机
    Centos 6.7 安装mongodb
    阿里云windows server 2012 TIME_WAIT CLOSE_WAIT
    使用Eclipse打jar包 包含依赖jar包
    linux crontab定时器
    mysql 存储过程学习笔记
    oracle windows 新建用户授权 导出导入bmp文件
    解决hash冲突的方法
  • 原文地址:https://www.cnblogs.com/libin6505/p/10132617.html
Copyright © 2020-2023  润新知