zoukankan      html  css  js  c++  java
  • 在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文档中的元素是类似的。

  • 相关阅读:
    ES6_函数方法
    Node_初步了解(3)回调,作用域,上下文
    ES6_入门(4)_数组的解构赋值
    ES6_入门(3)_顶层对象属性
    ES6_入门(2)_const命令
    ES6_入门(1)_let命令
    Node_初步了解(2)
    Node_初步了解(1)
    树的基本知识
    JS_高程5.引用类型(6)Array类型的位置方法,迭代方法,归并方法
  • 原文地址:https://www.cnblogs.com/gavanwanggw/p/6923066.html
Copyright © 2011-2022 走看看