zoukankan      html  css  js  c++  java
  • Java 用自带dom解析器遍历叶子节点内容

    一、XML文件config.xml,内容如下:

    <?xml version="1.0" encoding="UTF-8" standalone="no"?><xml-body>
        <书架>
        <书 name="xxxx">
            
            <售价>100</售价>
            <售价>99</售价>
            <书名>Java就业培训教程</书名>
            <作者>张孝祥</作者>    
        </>
        <>
            <书名>JavaScript网页开发</书名>
            <作者>张孝祥</作者>
            <售价>28.00元</售价>
        </>
    
    </书架>
    
    </xml-body>
    二、JAVA程序
     
    public static void main(String[] args) throws Exception {
            // TODO Auto-generated method stub
            DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
            DocumentBuilder db=dbf.newDocumentBuilder();
            org.w3c.dom.Document dom=db.parse(new File("src/config.xml"));
            list(dom);
        }    
    //递归方法
    public static void list(Node node){
            if(node.getNodeType()==node.TEXT_NODE){
                System.out.println(node.getTextContent());
            }
            NodeList list=node.getChildNodes();
            for(int i=0;i<list.getLength();i++){
                Node child=list.item(i);
                list(child);
            }
        }

    遍历叶子节点就是把NodeType设置为TEXT_NODE类型!

     
     
    三、判断节点类型和获取节点的名字和值,Node对象具有以下三个方法可以实现。
    getNodeType() :获取节点的类型,返回值为short类型。以下是节点类型表和对应的short值。
    java DOM 遍历 XML - 落羽 - 落羽

      getNodeName():获取节点的名字,返回值为String类型。

     getNodeValue():获取节点的值,如果节点类型为TEXT_NODE,则返回文本值,返回值为String类型。
  • 相关阅读:
    vue-cli常用配置
    浏览器进程线程时间循环、与vue netTick的实现原理
    WebSocket的兼容性
    hiper、sitespeed性能工具
    excel操作
    performance面板使用,以及解决动画卡顿
    axios设置了responseType: 'json‘’,ie问题
    docker服务重启
    Spring Boot AOP之对请求的参数入参与返回结果进行拦截处理
    python中几种单例模式的实现
  • 原文地址:https://www.cnblogs.com/panpansky/p/4663900.html
Copyright © 2011-2022 走看看