XMLReader—一个可以读取XML文件的java类

原创 2013年04月12日 14:48:13

在我的博文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文件,然后的几部在上面注释了,希望对大家有所帮助。

使用XMLReader接口解析XML-个人记录

如何获取XMLReader接口从JDK文档来看,有两种方法:使用SAXParserFactory+SAXParser[以下简称a方法]XMLReader aaa=SAXParserFactory.ne...
  • Listener_ri
  • Listener_ri
  • 2015年05月12日 13:17
  • 1802

如何正确运用PHP XMLReader解析XML文档

我们在运用PHP语言进行实际编程中,经常会遇到需要对XML文档进行解析的需求。在PHP语言中提供了许多函数可以满足这一需求的实现。。其中PHP XMLReader循序地浏览过xml档案的节点,可以想像...
  • bjash
  • bjash
  • 2013年03月26日 14:54
  • 1194

使用XmlReader类读取XML数据之

下面形式的一個XML怎麼解析呢?     version="1.0">               0 ...
  • maidi0219
  • maidi0219
  • 2014年03月12日 16:12
  • 656

Xml读取器XmlReader类

转自:http://www.cnblogs.com/menglin2010/archive/2011/12/21/2294942.html   前言     XmlReader类提供了对XML文档...
  • hemeinvyiqiluoben
  • hemeinvyiqiluoben
  • 2015年02月08日 20:06
  • 324

nodejs读取XML文件

需求:原因三级分类(分类1->分类2->分类3) 参考:http://blog.csdn.net/meng512199/article/details/37923833 里面的chosen插件不是很...
  • u010129985
  • u010129985
  • 2017年01月04日 09:57
  • 2025

java类读取properties文件中常量

笔者今天使用cookie时候,需要设置cookie的momain,path等参数时候,我不想java类中写死,于是就想怎么才能在配置文件中定义一个常量,然后我在java类中去读取呢,从而做到最大灵活。...
  • weiweiai123456
  • weiweiai123456
  • 2015年01月06日 17:24
  • 1706

使用XmlReader读取xml文件

转自:http://zhoufoxcn.blog.51cto.com/792419/163926 在.net开发中经常需要读写xml形式的文件(app.config和web.config分别是Win...
  • u011382076
  • u011382076
  • 2013年11月27日 11:14
  • 724

04_从磁盘读取Java程序,并显示在屏幕上

package exercise; import java.io.FileInputStream; /** * 应用FileInputStream类,编写应用程序,从磁盘上读取一个Java程序,...
  • lsq_java_4
  • lsq_java_4
  • 2016年04月06日 22:41
  • 1340

JAVA读取一个文件夹下所有某类型文件

import java.io.BufferedReader; import java.io.File; import java.io.FileFilter; import java.io.FileIn...
  • litoupu
  • litoupu
  • 2013年07月23日 21:38
  • 7486

java反射读取一个类

import java.util.*; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import jav...
  • u012220365
  • u012220365
  • 2014年01月14日 14:30
  • 591
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:XMLReader—一个可以读取XML文件的java类
举报原因:
原因补充:

(最多只允许输入30个字)