在曾经的学习.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、查看效果:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

4、知识点联系

在利用Dom4j解析XML过程中,我在获取节点的时候用到了XPath路径。这个获取到的额每个节点都是一个Element类型。因此,我们获取到节点后能够对该节点进行操作,增删改查等操作。

这里对XML文件的操作,类似于对HTML文档的操作,整个文件事实上是一个document类型的文档,里面的每个元素都是一个Element类型的元素,对它的非常多操作事实上是和操作HTML文档中的元素是类似的。

在java项目中怎样利用Dom4j解析XML文件获取数据的更多相关文章

  1. Java进阶(二十七)使用Dom4j解析XML文件

    使用Dom4j解析XML文件 写在前面的话 由于论文实验要求,需要实现操作XML文档,为此想到了dom4j这个工具,使用之后深感受益.在此分享给大家,以此共勉. 注:本文转载自http://blog. ...

  2. java中利用dom4j解析XML文件

    官网下载Dom4j地址:https://dom4j.github.io/ 注意:使用Dom4j开发,需下载dom4j相应的jar文件 题目:后台利用dom4j解析student.xml文件,并返回Li ...

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

    简单介绍 dom4j是由dom4j.org出品的一个开源XML解析包.这句话太官方.我们还是看一下官方给出的解释.例如以下图: dom4j是一个易于使用的.开源的,用于解析XML,XPath和XSLT ...

  4. 【JAVA使用XPath、DOM4J解析XML文件,实现对XML文件的CRUD操作】

    一.简介 1.使用XPath可以快速精确定位指定的节点,以实现对XML文件的CRUD操作. 2.去网上下载一个“XPath帮助文档”,以便于查看语法等详细信息,最好是那种有很多实例的那种. 3.学习X ...

  5. 使用dom4j 解析xml文件

    //使用dom4j 解析xml文件,升级版,dom4j是对dom的封装 //重点 package com.offcn.utils; import java.io.File; import java.i ...

  6. dom4j 解析XML文件

    <?xml version="1.0" encoding="UTF-8"?> <!-- 手机的根节点 --> <Phones> ...

  7. 用dom4j解析xml文件并执行增删改查操作

    转自:https://www.aliyun.com/jiaocheng/1339446.html xml文件: <?xml version="1.0" encoding=&q ...

  8. 用DOM4J解析XML文件案例

    用DOM4J解析XML文件案例,由于DOM4J不像JAXP属于JAVASE里,所以如果要使用DOM4J,则必须额外引入jar包,如图:

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

    首先,指定XML格式,我指定的XML格式如下: <?xml version='1.0' encoding='utf-8' standalone='yes' ?> <message&g ...

随机推荐

  1. linux文件与用户和群组

    文件基本属性 在图片中alogrithm的文件属性为drwxrwxr-x,其中d代表此文件为目录. 后面rwx,rwx,r-x分别代表文件所属者(ower),组(group),其他用户(other)的 ...

  2. weblogic部署struts2项目訪问action404错误

    近期有个project部署到tomcat上是正常的,部署到weblogic上时訪问action报404错误.依据报错日志.在网上找到了原因例如以下: 部署到weblogic上.struts.xml配置 ...

  3. 安卓ProgressBar水平进度条的颜色设置

    安卓系统提供了水平进度条ProgressBar的样式,而我们在实际开发中,差点儿不可能使用默认的样式.原因就是"太丑"^_^ 所以我们在很多其它的时候须要对其颜色进行自己定义,主要 ...

  4. cmd 下命令

    tasklist 查看当前进程 taskkill /? 查看taskkill 的帮助信息 详情 cmd /?  查看cmd详情 color /? 查看颜色详情  比如 color 2 md d:\ji ...

  5. 模式匹配的KMP 算法

    常见的字符串匹配时,模式串长度为n,源串长度为m,则从头匹配,两个指针i指向源串,j指向模式串,如遇到不同则回溯使j=0,这样就要反复匹配会使效率变低. 因为在如今i之前 的模式串与匹配串的匹配是同样 ...

  6. iOS 自己主动登录,登录过程中一直显示载入页

    iOS开发中 假设client做的人性化一点肯定会考虑自己主动登录 事实上原理非常easy,就是再首次登录成功之后将username和password存入userdefault 下次登录的时候推断us ...

  7. Spark 运行机制及原理分析

  8. (转载)Android:学习AIDL,这一篇文章就够了(上)

    前言 在决定用这个标题之前甚是忐忑,主要是担心自己对AIDL的理解不够深入,到时候大家看了之后说——你这是什么玩意儿,就这么点东西就敢说够了?简直是坐井观天不知所谓——那样就很尴尬了.不过又转念一想, ...

  9. javaEE的开发模式

    1.什么是模式 模式在开发过程中总结出的“套路”,总结出的一套约定俗成的设计模式 2.javaEE经历的模式 model1模式: 技术组成:jsp+javaBean model1的弊端:随着业务复杂性 ...

  10. [ Linux ] user, password, sudoers

    - 1. Add Linux user,  setup password http://linux.vbird.org/linux_basic/0410accountmanager.php - 2. ...