zoukankan      html  css  js  c++  java
  • java如果读取xml内容

    本文介绍的是使用dom4j方式读取,如需要其他方式可自行百度。

    1、首先导入dom4j的jar包:http://www.dom4j.org/dom4j-1.6.1/

    2、准备xml文件

    <?xml version="1.0" encoding="UTF-8"?>
    <class>
        <student>
        <people name="xiaoming" age="16">xiaoming</people>
        <people name="zhangsan" age="17">zhangsan</people>
        <people name="lisi" age="18">lisi</people>
        <people name="wangwu" age="19">wangwu</people>
        </student>
        <teacher>
        <people name="qiao" sex="男">qiao</people>
        </teacher>
    </class>

    3、读取xml的代码为

    package com.xml;
    
    import java.io.File;
    import java.util.Iterator;
    import java.util.List;
    
    import org.dom4j.Attribute;
    import org.dom4j.Document;
    import org.dom4j.DocumentException;
    import org.dom4j.Element;
    import org.dom4j.io.SAXReader;
    
    
    /** 
     * @author QiaoJiafei 
     * @version 创建时间:2016年2月3日 上午11:27:00 
     * 类说明 
     */
    public class TestXML {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            readxml();
        }
    
        private static void readxml() {
            // TODO Auto-generated method stub
            SAXReader read = new SAXReader();
            File file = new File("D:/workspace/TestDemo/src/com/xml/NewFile.xml");
            try {
                Document document = read.read(file);
                
                Element root = document.getRootElement();
                System.out.println("------>一级元素name:"+root.getName());
                
                List<Element> liste = root.elements();
                System.out.println("------>二级元素大小:"+liste.size());
                
                for(Iterator<Element> iterator=root.elementIterator();iterator.hasNext();) {
                    Element e1 = iterator.next();
                    System.out.println("------>二级元素name:"+e1.getName());
                    for(Iterator<Element> iterator2=e1.elementIterator();iterator2.hasNext();) {
                        Element e2 = iterator2.next();
                        System.out.println("------>三级元素name:"+e2.getName());
                        
                        List<Element> lista = e2.attributes();
                        System.out.println("------>三级元素值的大小:"+lista.size());
                        System.out.println("------>三级元素值的大小另一种方式:"+e2.attributeCount());
                        
                        System.out.println("------>三级元素中name:"+e2.attributeValue("name"));
                        System.out.println("------>三级元素中第二个值:"+e2.attribute(1).getName());
                        
    
                        for(Iterator<Attribute> iterator3=e2.attributeIterator();iterator3.hasNext();) {
                            Attribute attribute = iterator3.next();
                            System.out.println("------>三级元素的name和value:"+attribute.getName()+" ,"+attribute.getValue());
                        }
                    }
                }
            } catch (DocumentException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    
    }

    输出结果:

    ------>一级元素name:class
    ------>二级元素大小:2
    ------>二级元素name:student
    ------>三级元素name:people
    ------>三级元素值的大小:2
    ------>三级元素值的大小另一种方式:2
    ------>三级元素中name:xiaoming
    ------>三级元素中第二个值:age
    ------>三级元素的name和value:name ,xiaoming
    ------>三级元素的name和value:age ,16
    ------>三级元素name:people
    ------>三级元素值的大小:2
    ------>三级元素值的大小另一种方式:2
    ------>三级元素中name:zhangsan
    ------>三级元素中第二个值:age
    ------>三级元素的name和value:name ,zhangsan
    ------>三级元素的name和value:age ,17
    ------>三级元素name:people
    ------>三级元素值的大小:2
    ------>三级元素值的大小另一种方式:2
    ------>三级元素中name:lisi
    ------>三级元素中第二个值:age
    ------>三级元素的name和value:name ,lisi
    ------>三级元素的name和value:age ,18
    ------>三级元素name:people
    ------>三级元素值的大小:2
    ------>三级元素值的大小另一种方式:2
    ------>三级元素中name:wangwu
    ------>三级元素中第二个值:age
    ------>三级元素的name和value:name ,wangwu
    ------>三级元素的name和value:age ,19
    ------>二级元素name:teacher
    ------>三级元素name:people
    ------>三级元素值的大小:2
    ------>三级元素值的大小另一种方式:2
    ------>三级元素中name:qiao
    ------>三级元素中第二个值:sex
    ------>三级元素的name和value:name ,qiao
    ------>三级元素的name和value:sex ,男

    参考API:

    http://dom4j.sourceforge.net/dom4j-1.6.1/apidocs/

  • 相关阅读:
    复习面向对象--继承,重写,重载,抽象详解
    复习面向对象---员工案例
    连接池介绍 + 示意图 + 手写连接池pool
    statement 和 preparedStatement 优缺点
    软件测试(二十三)
    软件测试(二十二)
    软件测试(二十一)
    软件测试(二十)
    软件测试(十九)
    软件测试(十八)
  • 原文地址:https://www.cnblogs.com/qiaoyeye/p/5179406.html
Copyright © 2011-2022 走看看