java读取xml文件

来源:互联网 发布:淘宝达人怎么发布单品 编辑:程序博客网 时间:2024/06/07 06:26
本文读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
原创粉丝点击