为什么80%的码农都做不了架构师?>>>   

dom4j是一个java 的XML API,用来读写XML文件。

使用dom4j解析XML文件,首先需要在官网下载dom4j-1.6.1.zip。

URL:http://sourceforge.net/projects/dom4j/files/latest/download?source=files。

创建的Java 工程目录结构:

我们以解析数据库连接和配置文件c3p0.xml为例。

c3p0.xml

<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config><init><name>Oracle</name><driver>oracle.jdbc.driver.OracleDriver</driver><url>jdbc:oracle:thin:@192.168.1.29:1521:orcl</url><user>orcl</user><password>orcl</password><initPoolSize>5</initPoolSize><minPoolSize>2</minPoolSize><maxPoolSize>20</maxPoolSize><maxStatements>20</maxStatements><maxIdleTime>60</maxIdleTime><acquireIncrement>5</acquireIncrement><checkoutTimeout>3000</checkoutTimeout></init>
</c3p0-config>

C3p0.java

package com.xml.parse.file;public class C3p0 {private String name;private String driver;private String url;private String user;private String password;private String initPoolSize;private String minPoolSize;private String maxPoolSize;private String maxStatements;private String maxIdleTime;private String acquireIncrement;private String checkoutTimeout;public C3p0() {}public C3p0(String name, String driver, String url, String user,String password, String initPoolSize, String minPoolSize,String maxPoolSize, String maxStatements, String maxIdleTime,String acquireIncrement, String checkoutTimeout) {this.name = name;this.driver = driver;this.url = url;this.user = user;this.password = password;this.initPoolSize = initPoolSize;this.minPoolSize = minPoolSize;this.maxPoolSize = maxPoolSize;this.maxStatements = maxStatements;this.maxIdleTime = maxIdleTime;this.acquireIncrement = acquireIncrement;this.checkoutTimeout = checkoutTimeout;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getDriver() {return driver;}public void setDriver(String driver) {this.driver = driver;}public String getUrl() {return url;}public void setUrl(String url) {this.url = url;}public String getUser() {return user;}public void setUser(String user) {this.user = user;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getInitPoolSize() {return initPoolSize;}public void setInitPoolSize(String initPoolSize) {this.initPoolSize = initPoolSize;}public String getMinPoolSize() {return minPoolSize;}public void setMinPoolSize(String minPoolSize) {this.minPoolSize = minPoolSize;}public String getMaxPoolSize() {return maxPoolSize;}public void setMaxPoolSize(String maxPoolSize) {this.maxPoolSize = maxPoolSize;}public String getMaxStatements() {return maxStatements;}public void setMaxStatements(String maxStatements) {this.maxStatements = maxStatements;}public String getMaxIdleTime() {return maxIdleTime;}public void setMaxIdleTime(String maxIdleTime) {this.maxIdleTime = maxIdleTime;}public String getAcquireIncrement() {return acquireIncrement;}public void setAcquireIncrement(String acquireIncrement) {this.acquireIncrement = acquireIncrement;}public String getCheckoutTimeout() {return checkoutTimeout;}public void setCheckoutTimeout(String checkoutTimeout) {this.checkoutTimeout = checkoutTimeout;}}

ParseXML.java:

package com.xml.parse.file;import java.io.InputStream;import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;public class ParseXML {private static ParseXML instance = null;private C3p0 c3p0 = new C3p0();public ParseXML(){SAXReader  reader = new SAXReader();InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream("config/c3p0.xml");try {Document document = reader.read(in);Element root = document.getRootElement();Element e = root.element("init");Element name = (Element)e.element("name");Element driver = (Element)e.element("driver");Element url = (Element)e.element("url");Element user = (Element)e.element("user");Element password = (Element)e.element("password");Element initPoolSize = (Element)e.element("initPoolSize");Element minPoolSize = (Element)e.element("minPoolSize");Element maxPoolSize = (Element)e.element("maxPoolSize");Element maxStatements = (Element)e.element("maxStatements");Element maxIdleTime = (Element)e.element("maxIdleTime");Element acquireIncrement = (Element)e.element("acquireIncrement");Element checkoutTimeout = (Element)e.element("checkoutTimeout");c3p0.setName(name.getStringValue());c3p0.setDriver(driver.getStringValue());c3p0.setUrl(url.getStringValue());c3p0.setUser(user.getStringValue());c3p0.setPassword(password.getStringValue());c3p0.setInitPoolSize(initPoolSize.getStringValue());c3p0.setMinPoolSize(minPoolSize.getStringValue());c3p0.setMaxPoolSize(maxPoolSize.getStringValue());c3p0.setMaxStatements(maxStatements.getStringValue());c3p0.setMaxIdleTime(maxIdleTime.getStringValue());c3p0.setAcquireIncrement(acquireIncrement.getStringValue());c3p0.setCheckoutTimeout(checkoutTimeout.getStringValue());} catch (DocumentException e) {e.printStackTrace();}}public static synchronized ParseXML getInstance() {if(instance == null){instance = new ParseXML();}return instance;}public C3p0 getC3p0() {return c3p0;}}

XMLTest.java:

package com.xml.parse.file;public class XMLTest {public static void main(String args[]){ParseXML xml = ParseXML.getInstance();System.out.println("---name---");System.out.println(xml.getC3p0().getName());System.out.println("---driver---");System.out.println(xml.getC3p0().getDriver());System.out.println("---url---");System.out.println(xml.getC3p0().getUrl());System.out.println("---user---");System.out.println(xml.getC3p0().getUser());System.out.println("---password---");System.out.println(xml.getC3p0().getPassword());System.out.println("---initPoolSize---");System.out.println(xml.getC3p0().getInitPoolSize());System.out.println("---minPoolSize---");System.out.println(xml.getC3p0().getMinPoolSize());System.out.println("---maxPoolSize---");System.out.println(xml.getC3p0().getMaxPoolSize());System.out.println("---maxStatements---");System.out.println(xml.getC3p0().getMaxStatements());System.out.println("---maxIdleTime---");System.out.println(xml.getC3p0().getMaxIdleTime());System.out.println("---acquireIncrement---");System.out.println(xml.getC3p0().getAcquireIncrement());System.out.println("---checkoutTimeout---");System.out.println(xml.getC3p0().getCheckoutTimeout());}
}

运行XMLTest.java中的main方法。结果如下:

好,到此使用dom4j解析XML文件完毕,请大家指正!

转载于:https://my.oschina.net/douxn/blog/425060

使用dom4j解析XML文件相关推荐

  1. java dom xml 换行,dom4j解析xml文件_用DOM解析XML文件,怎么才能让解析出来的文本不用换行_dom解析xml文件...

    网友求助:dom4j解析xml文件_用DOM解析XML文件,怎么才能让解析出来的文本不用换行_dom解析xml文件 问题importjava.text.SimpleDateFormat; import ...

  2. Dom4j解析Xml文件,Dom4j创建Xml文件

    Dom4j解析Xml文件,Dom4j创建Xml文件 >>>>>>>>>>>>>>>>>>&g ...

  3. 使用DOM4J解析XML文件代码

    DOM4J解析XML文件 public class DOM4JTest1 {public static void main(String[] args) throws DocumentExceptio ...

  4. Java中DOM4J解析xml文件浅析

      DOM4J解析它是JDOM的一种智能分支.它合并了许多超出基本XML文档表示的功能,包括集成的XPath支持.XML Schema支持以及用于大文档或流化文档的基于事件的处理.它还提供了构建文档表 ...

  5. 一、dom4j技术--使用dom4j解析xml文件

    dom4j解析xml文件 一.导包,编写bean类和测试类 二.编码测试,通过dom4j生成bean对象 books.xml <?xml version="1.0" enco ...

  6. java jdom dom4j_Java基础系列17:使用DOM、SAX、JDOM、DOM4J解析XML文件详解

    一 简介 在Java中,可以使用多种方式来解析XML文件,其中最常见的可能就是DOM.SAX.JDOM.DOM4J这四种方式了.其中,DOM和SAX这两种解析XML文件的方式有jdk自带的API,因此 ...

  7. dom4j解析xml文件

    一.用SAXReader 方式解析:实例测试类TestXML     package *   import java.io.ByteArrayInputStream; import java.util ...

  8. Java - DOM4J解析XML文件

    文章目录 1. XML文档说明 2. XML解析 2.1 常见的解析方式 2.2 DOM4J解析xml 2.3 XPath表达式解析XML 3. 解析XML并封装到类中 4. 参考资料 1. XML文 ...

  9. java使用DOM4j解析XML文件

    1.简介 dom4j是java中的XML API,性能优异.功能强大.开放源代码. 也是所有解析XML文件方法中最常用的! 2.代码实操 准备需要j的ar包添加到lib目录下,dom4j-2.1.1. ...

最新文章

  1. 2015级C++第10、11周程序阅读(补充) 继承和派生
  2. Java-JSTL(JSP标准标签库)
  3. XFtp中文乱码解决
  4. boost::mpl模块实现front相关的测试程序
  5. 鸿蒙和宙斯谁厉害,漫威宇宙宙斯vs奥丁,到底谁更强
  6. ubuntu 安装java_Hadoop3.1.3安装教程_单机/伪分布式配置
  7. python职业发展规划书范文_职业生涯规划书范文 3篇
  8. 服务器安装固态硬盘的步骤,服务器系统安装中不识别固态硬盘问题
  9. Java - 生成健康证图片,各种模板图片
  10. MCS51单片机的型号与组成
  11. 重心法求中心matlab,两个中转站选址问题(重心法,metlab,spss)程序.ppt
  12. tp1900芯片对比7621a_TP-LINK WDR7660千兆版 厉害了单芯片TP1900-路由器交流
  13. android视频添加特效,安卓手机视频特效软件 用手机给视频加特效 安卓手机视频加闪电特效...
  14. uniapp 打包时报错:云端服务器返回错误,此应用DClound的Appdid非当前账号所有。
  15. loadrunner 12 --录制手机app脚本
  16. 安卓App自启动,两种不同的方式!!!支持到安卓4.4
  17. 【转载】破解物联网落地困境-阿里云硬件接入最佳实践
  18. Java操作Excel 并 保存新Excel
  19. Java-String的用法
  20. Java设计模式-结构型-门面模式

热门文章

  1. 云合影程序_活动回顾丨阿里云ACE同城会开发者云workshop圆满落幕
  2. linux 根据ip查机器名
  3. telnet命令详解
  4. Tianlesoftware Oracle 学习 手册 第一版
  5. csv 中显示逗号和双引号
  6. Longest Substring with At Most Two Distinct
  7. android 4.0以上WebView不能全屏播放视频的解决办法
  8. Shiro缓存使用Redis、Ehcache、自带的MpCache实现的三种方式实例
  9. C#中Equals和==的比较
  10. 使用CXF 2.7.5出现的java.lang.RuntimeException: Cannot create a secure XMLInputFactory错误解决...