在java项目中如何利用Dom4j解析XML文件获取数据

在以前的学习.net时经常会遇到利用配置文件来解决项目中一些需要经常变换的数据,比如数据库的连接字符串儿等。这个时候在读取配置文件的时候,我们通常会用到一个雷configuration,通过这个类来进行直接读取,可以说这是程序中直接封装好的,包括配置文件中书写的格式等等。那么,如果,想要在配置文件中写一些其他的数据,直接以XML文件的格式进行书写,这个时候在后台如何读取XML文件中的数据呢?这里利用Dom4j来解析XML文件中连接oracle数据库的xml数据。

在使用之前,首先要在自己的项目中把Dom4j-1.6.1.jar文件包拷贝到项目中去。

1、创建一个xml文件

<?xml version="1.0" encoding="UTF-8"?>
<config>
	<db-info>
		<driver-name>oracle.jdbc.driver.OracleDriver</driver-name>
		<url>jdbc:oracle:thin:@localhost:1521:bjpowernode</url>
		<user-name>drp</user-name>
		<password>drp</password>
	</db-info>
</config>

2、新建一个用来读取Xml文件的一个控制台应用程序

具体实现如下:

import java.io.InputStream;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public static void main(String[] args) {
		SAXReader reader=new SAXReader();
		//通过获得当前线程,然后获取当前的类加载器,来获取对应的资源
		InputStream in=Thread.currentThread().getContextClassLoader().getResourceAsStream("sys-config.xml");
		try {
			//read之后会返回一个document对象
			Document doc=reader.read(in);//这里也可以直接读取文件reader.read(new File("sys-config.xml"))
			//通过document对象获取xml文件的节点元素,返回element,通过xpath路径获取
			Element driverNameElt=(Element) doc.selectObject("/config/db-info/driver-name");
			Element urlElt=(Element) doc.selectObject("/config/db-info/url");
			Element userNameElt=(Element) doc.selectObject("/config/db-info/user-name");
			Element passwordElt=(Element) doc.selectObject("/config/db-info/password");

			//获取标签中的值
			String driverName=driverNameElt.getStringValue();
			String url=urlElt.getStringValue();
			String username=userNameElt.getStringValue();
			String password=passwordElt.getStringValue();			

		      System.out.println(driverName);
	              System.out.println(url);
                      System.out.println(username);

	              System.out.println(password);
	          } catch (DocumentException e) {
	   }
}

3、查看效果:

4、知识点联系

在利用Dom4j解析XML过程中,我在获取节点的时候用到了XPath路径,这个获取到的额每个节点都是一个Element类型,因此,我们获取到节点后可以对该节点进行操作,增删改查等操作。这里对XML文件的操作,类似于对HTML文档的操作,整个文件其实是一个document类型的文档,里面的每一个元素都是一个Element类型的元素,对它的很多操作其实是和操作HTML文档中的元素是类似的。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-02 06:56:10

在java项目中如何利用Dom4j解析XML文件获取数据的相关文章

在java项目中怎样利用Dom4j解析XML文件获取数据

在曾经的学习.net时常常会遇到利用配置文件来解决项目中一些须要常常变换的数据.比方数据库的连接字符串儿等.这个时候在读取配置文件的时候.我们一般会用到一个雷configuration,通过这个类来进行直接读取,能够说这是程序中直接封装好的,包含配置文件里书写的格式等等.那么,假设.想要在配置文件里写一些其它的数据,直接以XML文件的格式进行书写.这个时候在后台怎样读取XML文件里的数据呢?这里利用Dom4j来解析XML文件里连接oracle数据库的xml数据. 在使用之前,首先要在自己的项目中

java中利用dom4j解析XML文件

官网下载Dom4j地址:https://dom4j.github.io/ 注意:使用Dom4j开发,需下载dom4j相应的jar文件 题目:后台利用dom4j解析student.xml文件,并返回List<Student>集合 需要解析的XML: <?xml version="1.0" encoding="UTF-8"?> <classes> <class name="ST01"> <stud

java项目中, mybatis的sql XML文件,在写sql语句时,大于号小于号转义

因为这个是xml文件不允许出现类似">"这样的字符 用了转义字符把>和<替换掉,然后就没有问题了. XML转义字符 字段 符号 说明 &lt ; < 小于号 &gt ; > 大于号 &amp ; & 和 &apos ; ' 单引号 &quot ; " 双引号 原文出处 http://blog.csdn.net/qq_28587263/article/details/54138998

【java项目实战】dom4j解析xml文件,连接Oracle数据库

简介 dom4j是由dom4j.org出品的一个开源XML解析包.这句话太官方,我们还是看一下官方给出的解释.如下图: dom4j是一个易于使用的.开源的,用于解析XML,XPath和XSLT等语言的库.它应用于Java平台,采用了Java集合框架并完全支持DOM,SAX和JAXP等编程标准. 特点 dom4j是一个非常非常优秀的Java XML API,具有性能优异.功能强大和极端易用的特点,同时它也是一个开放源代码的软件.如今你可以看到越来越多的Java软件都在使用dom4j来读写XML,例

在 Java 项目中解压7Zip特殊压缩算法文件

1 问题描述 Java Web 后端下载了一个经特殊算法压缩的 zip 文件,因为不能采用 java 本身自带的解压方式,必须采用 7Zip 来解压.所以,提到了本文中在 java web 后端调用外部 7zip exe 来解压文件的问题. 2 主要实现 2.1 定义缓冲区类 class StreamGobbler extends Thread { InputStream is; String type; public StreamGobbler(InputStream is, String t

使用XML序列化器生成XML文件和利用pull解析XML文件

首先,指定XML格式,我指定的XML格式如下: <?xml version='1.0' encoding='utf-8' standalone='yes' ?> <message> <sms> <body> 陈驰0 </body> <date> 1462162910995 </date> <address> 1380 </address> <type> 1 </type> &

使用DOM4J解析XMl文件与读取XML文件

XML文件 1 <?xml version="1.0" encoding="UTF-8"?> 2 <bookstore> 3 <book id="1"> 4 <name>冰与火之歌</name> 5 <author>乔治马丁</author> 6 <year>2014</year> 7 <price>89</price&g

利用TinyXML解析XML文件

下载地址:TinyXML 解压缩TinyXML后,找到六个文件: tinystr.h.tinystr.cpp.tinyxml.h.tinyxml.cpp.tinyxmlerror.cpp.tinyxmlparser.cpp 将这六个文件放在你的C++工程中,跟你的源文件在同一目录下. 新建一个XML文件,命名为Students.xml : <Class name="计算机软件班"> <Students> <student name="张三&quo

用DOM4J解析XML文件案例

用DOM4J解析XML文件案例,由于DOM4J不像JAXP属于JAVASE里,所以如果要使用DOM4J,则必须额外引入jar包,如图: 1.xml文件 <?xml version="1.0" encoding="UTF-8"?> <class> <student> <name>张三</name> <sid>111111</sid> </student> <stude