java读取xml文件

本文读xml文件内容主要用的包是dom4j.jar


<?xml version="1.0" encoding="UTF-8"?>
<main>
<common>数据库连接配置</common>
<src>
    <className>org.h2.Driver</className>
    <url>jdbc:h2:tcp://localhost:9123/component_internal</url>
    <userName>sa</userName>
    <password></password>
</src>
<desc>
    <className>com.microsoft.sqlserver.jdbc.SQLServerDriver</className>
    <url>jdbc:sqlserver://10.0.0.35:1433; DatabaseName=test</url>
    <userName>ams</userName>
    <password>ams</password>
</desc>

<exclude>
    <!--创建表-->
    <create_tables>
        <table>多个</table>
    </create_tables>
    <!--导出数据表-->
    <import_data>
        <table>多个</table>
    </import_data>
</exclude>
</main>


package com.miracle.cms.db2db.utils;

import com.miracle.cms.db2db.model.ConnectModel;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import java.lang.String;
import java.lang.System;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 * Created with IntelliJ IDEA.
 * User: lianan
 * Date: 14-6-26
 * Time: 下午4:50
 * To change this template use File | Settings | File Templates.
 */
public class ConnectionConfig {
    private static ConnectionConfig config;
    private static ConnectModel srcModel = new ConnectModel();
    private static ConnectModel descModel= new ConnectModel();
    private static Element element;
    private ConnectionConfig() throws DocumentException {
        SAXReader reader = new SAXReader();
        String filePath = this.getClass().getResource("/")+"connection-config.xml";
        Document document = reader.read(filePath);
        this.element = document.getRootElement();

    }
    static{
        if(null == config) try {
            config = new ConnectionConfig();
        } catch (DocumentException e) {
            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
        }
    }
    public static ConnectModel getRoot(String rootName,ConnectModel connectModel) throws DocumentException {

        for (Iterator i = element.elementIterator(rootName); i.hasNext();) {
            Element foo = (Element) i.next();
            connectModel.setClassName(foo.elementText("className"));
            connectModel.setUrl(foo.elementText("url"));
            connectModel.setUsername(foo.elementText("userName"));
            connectModel.setPassword(foo.elementText("password"));
        }
        return connectModel;
    }

    public static List<String> getRoot(String elementName){
        List<String> list= new ArrayList<String>();
        List<Element> elements = element.element("exclude").element(elementName).elements("table");
        for(int i=0;i<elements.size();i++){
            String text = elements.get(i).getTextTrim();
            if(!"".equals(text)){
                list.add(text);
            }
        }
        return list;
    }

    public static ConnectModel getSrcConnectionConfig() throws DocumentException {
        return getRoot("src",srcModel);
    }

    public static ConnectModel getDescConnectionConfig() throws DocumentException {
       return getRoot("desc",descModel);
    }


    public static List<String> getExcludeCreateTables(){

        return getRoot("create_tables");
    }
    public static List<String> getExcludeImportDataTables(){

        return getRoot("import_data");
    }

    public static void main(String arg0[]) throws DocumentException {
      System.out.println(getDescConnectionConfig().getClassName());
    }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值