java 解析xml工具类_轻松解析XML的工具类
在我们的各种项目中,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的工具类相关推荐
- C# - 类_使用新成员隐藏基类成员
1 using System; 2 3 namespace 类_使用新成员隐藏基类成员 4 { 5 // 基类 : Animal 6 public class Animal 7 { 8 // 基类的普 ...
- java代码安全检测机制_全面解析:java中的反射机制,内含代码验证解析
什么是反射? 在运行状态中,对于任意一个类,都能够获取到这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意一个方法和属性(包括私有的方法和属性),这种动态获取的信息以及动态调用对象的方法的功 ...
- java生成xml 换行符_如何在XML文件中添加换行符(换行符)?
甲换行符(又名行中断或结束时的线,EOL)是标记文本行的末尾特殊字符或字符序列.所使用的确切代码因操作系统而异:LF: Unix CR: Mac OS up to version 9 CR ...
- python 新式类_【Python】Python 新式类介绍
我们使用 Python 开发时, 会遇到 class A 和 class A(object) 的写法, 这在 Python2 里是有概念上和功能上的区别, 即经典类(旧式类)与新式类的区别, 英文上分 ...
- python中的元类_理解python中的元类
一,理解类也是对象 在python中类同样也是一种对象,只要使用关键字class,Python解释器在执行的时候就会创建一个对象,这个对象(类)自身拥有创建对象(类实例)的能力,这就是为什么他是一个类 ...
- java 参数类型不确定_详细解析Java虚拟机的栈帧结构
什么是栈帧? 正如大家所了解的,Java虚拟机的内存区域被划分为程序计数器.虚拟机栈.本地方法栈.堆和方法区.(什么?你还不知道,赶紧去看看<Java虚拟机内存结构及编码实战>)这次要介绍 ...
- java 如何操作字节数组_实例解析Java字节数组操作模式代码
字节数组的关键是它为存储在这部分内存中的每个8位值提供索引(快速)和精确的原始访问,并且您可以操纵这些字节来控制每个位.缺点是计算机只将每个条目视为一个独立的8位数字--这可能是您的程序正在处理的,或 ...
- JAVA集合取交集工具类_集合交集、差集工具类
1.业务背景 在日常开发中,有时会遇到需要对比两个集合来计算出两个集合的交集.差集.以此来决定之后对数据库的insert.delete.update操作.例如,在一些管理系统中配置管理员列表后,如果需 ...
- java volatile有什么用_深入解析Java中volatile关键字的作用
在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉. Java语言是支持多线程的,为了解决线程并发的问题,在语 ...
- python解析xml存入字典_如何将xml字符串转换为字典?
这是网站上的代码,以防链接出错.from xml.etree import cElementTree as ElementTree class XmlListConfig(list): def __i ...
最新文章
- 【java】巨菜博主安装jdk为什么每次都失败?
- 一文读懂AlphaGo背后的强化学习:它的背景知识与贝尔曼方程的原理
- 大数据成败之“监”:美团数据质量监管平台这样搭建
- tensorflow tf.train.ExponentialMovingAverage().variables_to_restore()函数 (用于加载模型时将影子变量直接映射到变量本身)
- 项目十大管理及5大过程组概览
- [CXF REST标准实战系列] 一、JAXB xml与javaBean的转换(转)
- arcgis标注牵引线_解析ArcGis的标注(三)——标注的放置 与 转注记修改
- 关于软件定义IT基础设施的未来,深信服是这么思考的
- Matlab Tricks(十三)—— 提取矩阵的对角线元素
- Druid创始人Eric Tschetter详解开源实时大数据分析系统Druid
- 用计算机画经验频率曲线,第四节经验频率曲线经验频率曲线的绘制步骤收集水文资料,组成.ppt...
- day2_python年会抽奖游戏
- win10系统文件拖拽卡顿_如何解决Win10鼠标拖动窗口有延迟?
- 浏览器事件:为什么会有捕获过程和冒泡过程?
- Python Tic Tac Toe游戏
- java 30分钟_java 当前时间加减30分钟的时间
- Are We Evaluating Rigorously? Benchmarking Recommendation for Reproducible Evaluation and Fair Compa
- 如何使用爬虫采集搜狐汽车新车资讯
- 运行删除指定文件库rimraf
- 在IDEA中集成Jenkins插件 解决Missing or bad crumb data异常
热门文章
- 计算机系统应用 莫军,Configuration tool for ARINC 653 operating systems
- Oracle数据库练习题及答案(个人总结)
- Game.Physics.Engine.Development(游戏物理引擎开发)
- 穴位--程序健康之道
- 720-C语言实现2048游戏
- FFT算法实现,python,Java
- 如何***内网windows xp的几种思路和方法
- MDClub 轻量级网论坛源码
- ggsci | 让你的配色Nature化
- 计算机组成原理第5版第六章答案,计算机组成原理第六章答案.docx