zoukankan      html  css  js  c++  java
  • XMLReader—一个可以读取XML文件的java类

    在我的博文java ArrayList代替数组中有个XMLReader类,这是一个可以读取XML文件的java类,它的实现过程是怎样的呢?接下来让我们看看XMLReader的实现过程:

    首先你要下载一个叫dom4j-1.6.1.jar包,XMLReader类会用到这个jar包。

    其次让我们看看一个数据库连接的XML文件时怎样的:

     

    <!DOCTYPE hibernate-configuration PUBLIC
    	"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    	"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
    
    <hibernate-configuration>
    	<session-factory name="foo">
    
    
    <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
    
    
    <property name="connection.url">jdbc:mysql://localhost/db?characterEncoding=gb2312</property>
    
    
    <property name="connection.username">root</property>
    
    
    <property name="connection.password">root</property>
    
    	</session-factory>
    </hibernate-configuration>

    这个名为db.xml的文件就是我们要读的关于数据库连接的XML文件。<session-factory name="foo"></session-factory>为一组,里面每个property都是以键值对存储的。

    接着,XMLReader类如下:

    import java.io.*;
    import java.util.*;
    
    import org.dom4j.*;
    import org.dom4j.io.*;
    
    public class XMLReader {
    	
    	public static List<String> getdbxml() {
    		List<String> db=new ArrayList<String>();
    		try {		
    			File f = new File("D:\\db.xml");
    			SAXReader reader = new SAXReader();
    			Document doc = reader.read(f);
    			Element root = doc.getRootElement();
    			Element fo;
    			Element value;
    			int j=0;
    			//迭代器查看有几个session-factory
    			for (Iterator i = root.elementIterator("session-factory"); i.hasNext();) 
    			{
    				fo = (Element) i.next();//将foo赋给fo,然后循环查看名为property的值,存到db里
    				for(Iterator k = fo.elementIterator("property");k.hasNext();)
    				{					
    					value = (Element)k.next();					
    					db.add((String)value.getData());//使用ArrayList的add方法将元素存储到容器里
    					j++;
    				}
    			}
    			
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    		return db;
    	}
    }


    用到的是dom4j包下的SAXReader这个类来获取xml文件,然后的几部在上面注释了,希望对大家有所帮助。

  • 相关阅读:
    linux中如何修改文件夹的用户权限 chown命令
    httpserver
    协程
    进程和线程的区别和联系
    python线程的GIL问题(全局解释器锁)
    线程同步互斥的方法
    threading模块创建线程
    信号量(信号灯)
    信号通道
    内存共享
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3017547.html
Copyright © 2011-2022 走看看