需求:XML为例如以下样式,如今我仅仅想取得timer以下的5000和60000.

解决的方法例如以下:

<?xml version="1.0" encoding="UTF-8"?

>
<we> <message id="1001">
<String>Id</String>
<String>name</String>
<String>sfz</String>
<String>w</String>
</message>
<!-- 定时任务设置 -->
<timer>
<delay>5000</delay>
<period>60000</period>
</timer>
</we>

/**
* 解析指定xml路径下的信息
*
* @param fileName
* xml文件路径
* @param xmlPath
* xml里元素路径
* @return 返回map,如map.get("delay")就可取到以下的5000
* <timer>
<delay>5000</delay>
<period>60000</period>
</timer>
*/
public Map parserXml(String fileName, String xmlPath) {
Document document;
Map map = new HashMap();
try {
document = getDocument(fileName);
List list = document.selectNodes(xmlPath);
for (int i = 0; i < list.size(); i++) {
Element timer = (Element) list.get(i);
for(Iterator j = timer.elementIterator();j.hasNext();){
Element node = (Element) j.next();
//System.out.println(node.getName() + ":" + node.getText());
map.put(node.getName(), node.getText());
}
}
} catch (DocumentException e) {
e.printStackTrace();
}
return map;
} private Document getDocument(String xmlFile) throws DocumentException {
SAXReader reader = new SAXReader();
return reader.read(xmlFile);
}
public static void main(String[] args) {
Dom4jDemo d = new Dom4jDemo();
String relativelyPath = new File(Dom4jDemo.class.getResource("/")
.getPath()).getParent() + File.separator + "src\\sysConfig.xml";
System.out.println(relativelyPath);
// d.createXml(relativelyPath);
/*List list = d.parserXml(relativelyPath);
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}*/
String xmlPath = "/we/timer";
Map map = d.parserXml(relativelyPath, xmlPath);
System.out.println(map.get("delay")); }

dom4j解析xml中指定元素下内容的更多相关文章

  1. Dom4j向XML中指定位置添加、删除、修改节点——(五)

    需求: 在第一本书作者后面增加描述 <描述>好书</描述>  思路:获取书下面下的所有节点(一个list集合),在list集合指定位置添加一个元素(list.add(index ...

  2. java中采用dom4j解析xml文件

    一.前言 在最近的开发中用到了dom4j来解析xml文件,以前听说过来解析xml文件的几种标准方式:但是从来的没有应用过来,所以可以在google中搜索dmo4j解析xml文件的方式,学习一下dom4 ...

  3. 转:在java中使用dom4j解析xml

    JAVA 使用Dom4j 解析XML Java DOM4J Parser - Parse XML Document Dom4j下载及使用Dom4j读写XML简介 在java中使用dom4j解析xml ...

  4. 在java项目中怎样利用Dom4j解析XML文件获取数据

    在曾经的学习.net时常常会遇到利用配置文件来解决项目中一些须要常常变换的数据.比方数据库的连接字符串儿等.这个时候在读取配置文件的时候.我们一般会用到一个雷configuration,通过这个类来进 ...

  5. Dom4j的一个小例子,用于解析xml文件的元素获取方式(转)

    import java.io.File; import java.io.IOException; import javax.xml.parsers.ParserConfigurationExcepti ...

  6. Dom4j的一个小例子,用于解析xml文件的元素获取方式

    import java.io.File; import java.io.IOException; import javax.xml.parsers.ParserConfigurationExcepti ...

  7. 【收藏用】--切勿转载JAVA 使用Dom4j 解析XML

    原帖地址 : http://blog.csdn.NET/yyywyr/article/details/38359049 解析XML的方式有很多,本文介绍使用dom4j解析xml. 1.环境准备 (1) ...

  8. dom4j解析XML的CURD操作

    在开发JavaWeb项目中通常是利用XML配置文件来提高应用程序的访问效率,而在配置XML的同时,更多时候是对XML进行解析. 一.解析XML配置文件有两种机制: DOM和SAX的机制: DOM是将整 ...

  9. dom4j解析xml文档全面介绍

    一.dom4j介绍 dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个非常非常优秀的Java XML API,具有性能优异.功能强大和极端易用使用的特点, ...

随机推荐

  1. linux常用系统配置命令汇总

    系统配置及查看信息相关命令 # uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本# cat /proc/cpuinfo # 查看C ...

  2. Objective-c 中的算术函数和常数的表示

    常数 常数名 说明 M_PI 圆周率(=π) M_PI_2 圆周率的1/2(=π/2) M_PI_4 圆周率的1/4(=π/4) M_1_PI =1/π M_2_PI =2/π M_E =e M_LO ...

  3. 嵌入式Linux下BOA网页server的移植

    **************************************************************************************************** ...

  4. 实战:sqlserver 2008 扩展事件-XML转换为标准的table格式

    --假设已经存在Event Session删除 IF EXISTS (SELECT * FROM sys.server_event_sessions WHERE name='MonitorLongQu ...

  5. 【足迹C++primer】40、动态数组

    动态数组 C++语言定义了第二种new表达式语法.能够分配并初始化一个对象数组.标准库中包括 一个名为allocator的类.同意我们将分配和初始化分离. 12.2.1 new和数组 void fun ...

  6. 一百万数据索引实例測试--mysql

    推荐书籍:http://pan.baidu.com/s/1sjJIyRV 任务描写叙述: 如果一高频查询例如以下  SELECT * FROM user WHERE area='amoy' AND s ...

  7. Tomcat6 Session建立机制简要

    底:  测试部门做压力测试, 结果没多久新闻,出现OutOfMemory. 查找原因,通过监视工具,查找StandardSession(org.apache.catalina.session.Stan ...

  8. css实现背景渐变色效果

    webkit内核的浏览器,例如(chrome,safari等) background:-webkit-gradient(linear,0 0,0 100%,from(#000000),to(#ffff ...

  9. 【第四篇章-android平台MediaCodec】推断是否支持硬件解码码

    public boolean isSupportMediaCodecHardDecoder(){ boolean isHardcode = false; //读取系统配置文件/system/etc/m ...

  10. 飘逸的python - 保持命名空间的整洁

    API的设计是一个艺术活.往往需要其简单.易懂.整洁.不累赘. 很多时候,我们在底层封装一个方法给高层用,而其它的方法只是为了辅助这个方法的. 也就是说我们只需要暴露这个方法就行,不用关心这个方法是怎 ...