开发工具:
文件大小: 18kb
下载次数: 0
上传时间: 2008-06-26
详细说明: 其实这个东西很简单,甚至没有用到工厂,也没有用接口,4个文件搞定。
一个XML工具类,一个系统工具类,一个结点对象,一个BUILDER,如此而已,我就不信这个小东西对于经常读取XML配置文件的人来说不能提供方便?
大家有心情试试看,提供源码和DEMO!
目前是1.0版本,本人将不定期更新!
参考了XPATH方式,可以直接用路径的方式读取文件结点内容,如下:
public static void main(String[] args){
ConfigBuilder cb = new ConfigBuilder("config/db-config.xml");
/**
* 这个是 getValueByPath(path) 的注释
*
* 自定义路径
* 例子:
* ROOT.NODE. CNODE@att1 末结点路径下的属性值 返回 String
*
* ROOT.NODE.CNODE:$children 末结点的所有孩子列表 返回 List
* ROOT.NODE.CNODE:$value 末结点的TEXT值 返回 String
* ROOT.NODE.CNODE:$node 末结点的结点 返回 ConfigNode
* ROOT.NODE.CNODE:$properties 末结点的属性表(MAP) 返回 Map
*
* 每个结点在均支持[]括号内的条件:
* ROOT.NODE[name=bb].CNODE[name=ccc]@att1 安条件获取属性值 返回 String
*
* @author tangkf
* @param path
* @return
*/
try {
cb.initinalize();
System.out.println(cb.getRoot());
//--获取 ccc 结点自己
ConfigNode obj1 = (ConfigNode)cb.getRoot().getValueByPath("servers.dbserver.ccc:$node");
//--获取ccc 结点的 text 值
String obj2 = cb.getRoot().getValueByPath("servers.dbserver.ccc:$value").toString();
//--获取ccc 结点的 attributes 值
Map obj3 = (Map)cb.getRoot().getValueByPath("servers.dbserver.ccc:$properties");
//--获取dbserver 结点的 孩子结点表 List
List obj4 = (List)cb.getRoot().getValueByPath("servers.dbserver:$children");
//--获取结点 property[name=isdefault] 中name 的值,
//--当存在多个 property 结点时 取 其属性中 name=isdefault 的结点,当然这个返回值如果存在哪么就是 isdefault
String obj5 = cb.getRoot().getValueByPath("servers.dbserver.property[name=isdefault]:name").toString();
System.out.println(obj1+"\r\n"+obj2+"\r\n"+obj3+"\r\n"+obj4+"\r\n"+obj5);
} catch (Exception e) {
e.printStackTrace();
}
} ...展开收缩
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.