zoukankan      html  css  js  c++  java
  • 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是根节点下的子节点
  • 相关阅读:
    subprocess
    bytes(str_, encoding="utf8")
    按文件生成时间 排序 批量与生成同步上传文件
    async
    http trigger 事件源是事件的生产者,函数是事件的处理者
    分片上传
    使用 FFmpeg 处理高质量 GIF 图片
    兴趣 主题 字段 二值化 多值并列属性 拆分 二值化
    打开 回收站
    shell如何查看单个或多个文件的行数或总行数
  • 原文地址:https://www.cnblogs.com/libin6505/p/10132617.html
Copyright © 2011-2022 走看看