在我们的各种项目中,XML文件读取与解析非常频繁,正是因为有了XML文件,才使得我们的程序架构更加灵活,我们可以将我们的一些动态变化的数据,分离到到XML的配置文件里,比如说数据库的配置,项目一些重要参数的配置等等,散仙每次接触一个新的开源的工程,基本都会发现,在它的根目录下少不了的东西,就是各种XML文件,比如Hadoop,Solr或者Nutch等等。

如果你的项目中也需要,频繁解析各种XML配置,那么Apache Commons Configuration

是一个不错的选择。

下面是散仙将给出,一个简单的基本的测试demo。

需要解析的xml文件内容如下:

class="xml" name="code">

10010

张三

上海
北京

内容部分测试1

内容部分测试2

内容部分测试3

测试 的代码如下:

package com.testxmlparse;

import java.util.List;

import org.apache.commons.configuration.XMLConfiguration;

/***

* 解析xml的类

* @author qindongliang

*

*

* **/

public class ParseXML {

public static void main(String[] args) throws Exception{

loadxml();

}

public static void loadxml() throws Exception{

XMLConfiguration config = new XMLConfiguration();

config.setDelimiterParsingDisabled(true);

config.load("test.xml");

//获取单个属性的值

System.out.println(config.getString("person.id"));

System.out.println(config.getString("person.name"));

//System.out.println(config.getString("person.address"));

//获取多个相同的标签值

List list=config.getList("person.address");

System.out.println(list);

//获取属性的值, 注意写法

//获取标签的值

System.out.println(config.getString("person.info"));

//获取属性的时间

System.out.println(config.getString("person.info[@time]"));

//获取属性的数量

System.out.println(config.getString("person.info[@count]"));

//获取多个属性的值的集合

List attributes=config.getList("person.info[@time]");

System.out.println("日期集合: "+attributes);

List attributes2=config.getList("person.info[@count]");

System.out.println("数量集合: "+attributes2);

}

}

程序的运行结果如下所示:

10010

张三

[上海, 北京]

内容部分测试1

2014年5月

100

日期集合: [2014年5月, 2014年6月, 2014年7月]

数量集合: [100, 200, 300]

使用这个工具包,可以简单快捷的解析我们的XML文件,需要用到的必须的jar包如下所示:

后面,附上所用的jar包,有需要的朋友可以下载使用!

大小: 88.9 KB

commons-collections-3.1.jar (546.3 KB)

下载次数: 0

commons-configuration-1.6.jar (291.8 KB)

下载次数: 0

commons-lang-2.4.jar (255.7 KB)

下载次数: 0

commons-logging-1.0.4.jar (37.1 KB)

下载次数: 0

查看图片附件

java 解析xml工具类_轻松解析XML的工具类相关推荐

  1. C# - 类_使用新成员隐藏基类成员

    1 using System; 2 3 namespace 类_使用新成员隐藏基类成员 4 { 5 // 基类 : Animal 6 public class Animal 7 { 8 // 基类的普 ...

  2. java代码安全检测机制_全面解析:java中的反射机制,内含代码验证解析

    什么是反射? 在运行状态中,对于任意一个类,都能够获取到这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意一个方法和属性(包括私有的方法和属性),这种动态获取的信息以及动态调用对象的方法的功 ...

  3. java生成xml 换行符_如何在XML文件中添加换行符(换行符)?

    甲换行符(又名行中断或结束时的线,EOL)是标记文本行的末尾特殊字符或字符序列.所使用的确切代码因操作系统而异:LF:    Unix CR:    Mac OS up to version 9 CR ...

  4. python 新式类_【Python】Python 新式类介绍

    我们使用 Python 开发时, 会遇到 class A 和 class A(object) 的写法, 这在 Python2 里是有概念上和功能上的区别, 即经典类(旧式类)与新式类的区别, 英文上分 ...

  5. python中的元类_理解python中的元类

    一,理解类也是对象 在python中类同样也是一种对象,只要使用关键字class,Python解释器在执行的时候就会创建一个对象,这个对象(类)自身拥有创建对象(类实例)的能力,这就是为什么他是一个类 ...

  6. java 参数类型不确定_详细解析Java虚拟机的栈帧结构

    什么是栈帧? 正如大家所了解的,Java虚拟机的内存区域被划分为程序计数器.虚拟机栈.本地方法栈.堆和方法区.(什么?你还不知道,赶紧去看看<Java虚拟机内存结构及编码实战>)这次要介绍 ...

  7. java 如何操作字节数组_实例解析Java字节数组操作模式代码

    字节数组的关键是它为存储在这部分内存中的每个8位值提供索引(快速)和精确的原始访问,并且您可以操纵这些字节来控制每个位.缺点是计算机只将每个条目视为一个独立的8位数字--这可能是您的程序正在处理的,或 ...

  8. JAVA集合取交集工具类_集合交集、差集工具类

    1.业务背景 在日常开发中,有时会遇到需要对比两个集合来计算出两个集合的交集.差集.以此来决定之后对数据库的insert.delete.update操作.例如,在一些管理系统中配置管理员列表后,如果需 ...

  9. java volatile有什么用_深入解析Java中volatile关键字的作用

    在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉. Java语言是支持多线程的,为了解决线程并发的问题,在语 ...

  10. python解析xml存入字典_如何将xml字符串转换为字典?

    这是网站上的代码,以防链接出错.from xml.etree import cElementTree as ElementTree class XmlListConfig(list): def __i ...

最新文章

  1. 【java】巨菜博主安装jdk为什么每次都失败?
  2. 一文读懂AlphaGo背后的强化学习:它的背景知识与贝尔曼方程的原理
  3. 大数据成败之“监”:美团数据质量监管平台这样搭建
  4. tensorflow tf.train.ExponentialMovingAverage().variables_to_restore()函数 (用于加载模型时将影子变量直接映射到变量本身)
  5. 项目十大管理及5大过程组概览
  6. [CXF REST标准实战系列] 一、JAXB xml与javaBean的转换(转)
  7. arcgis标注牵引线_解析ArcGis的标注(三)——标注的放置 与 转注记修改
  8. 关于软件定义IT基础设施的未来,深信服是这么思考的
  9. Matlab Tricks(十三)—— 提取矩阵的对角线元素
  10. Druid创始人Eric Tschetter详解开源实时大数据分析系统Druid
  11. 用计算机画经验频率曲线,第四节经验频率曲线经验频率曲线的绘制步骤收集水文资料,组成.ppt...
  12. day2_python年会抽奖游戏
  13. win10系统文件拖拽卡顿_如何解决Win10鼠标拖动窗口有延迟?
  14. 浏览器事件:为什么会有捕获过程和冒泡过程?
  15. Python Tic Tac Toe游戏
  16. java 30分钟_java 当前时间加减30分钟的时间
  17. Are We Evaluating Rigorously? Benchmarking Recommendation for Reproducible Evaluation and Fair Compa
  18. 如何使用爬虫采集搜狐汽车新车资讯
  19. 运行删除指定文件库rimraf
  20. 在IDEA中集成Jenkins插件 解决Missing or bad crumb data异常

热门文章

  1. 计算机系统应用 莫军,Configuration tool for ARINC 653 operating systems
  2. Oracle数据库练习题及答案(个人总结)
  3. Game.Physics.Engine.Development(游戏物理引擎开发)
  4. 穴位--程序健康之道
  5. 720-C语言实现2048游戏
  6. FFT算法实现,python,Java
  7. 如何***内网windows xp的几种思路和方法
  8. MDClub 轻量级网论坛源码
  9. ggsci | 让你的配色Nature化
  10. 计算机组成原理第5版第六章答案,计算机组成原理第六章答案.docx