dom4j解析xml中指定元素下内容
需求: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中指定元素下内容的更多相关文章
- Dom4j向XML中指定位置添加、删除、修改节点——(五)
需求: 在第一本书作者后面增加描述 <描述>好书</描述> 思路:获取书下面下的所有节点(一个list集合),在list集合指定位置添加一个元素(list.add(index ...
- java中采用dom4j解析xml文件
一.前言 在最近的开发中用到了dom4j来解析xml文件,以前听说过来解析xml文件的几种标准方式:但是从来的没有应用过来,所以可以在google中搜索dmo4j解析xml文件的方式,学习一下dom4 ...
- 转:在java中使用dom4j解析xml
JAVA 使用Dom4j 解析XML Java DOM4J Parser - Parse XML Document Dom4j下载及使用Dom4j读写XML简介 在java中使用dom4j解析xml ...
- 在java项目中怎样利用Dom4j解析XML文件获取数据
在曾经的学习.net时常常会遇到利用配置文件来解决项目中一些须要常常变换的数据.比方数据库的连接字符串儿等.这个时候在读取配置文件的时候.我们一般会用到一个雷configuration,通过这个类来进 ...
- Dom4j的一个小例子,用于解析xml文件的元素获取方式(转)
import java.io.File; import java.io.IOException; import javax.xml.parsers.ParserConfigurationExcepti ...
- Dom4j的一个小例子,用于解析xml文件的元素获取方式
import java.io.File; import java.io.IOException; import javax.xml.parsers.ParserConfigurationExcepti ...
- 【收藏用】--切勿转载JAVA 使用Dom4j 解析XML
原帖地址 : http://blog.csdn.NET/yyywyr/article/details/38359049 解析XML的方式有很多,本文介绍使用dom4j解析xml. 1.环境准备 (1) ...
- dom4j解析XML的CURD操作
在开发JavaWeb项目中通常是利用XML配置文件来提高应用程序的访问效率,而在配置XML的同时,更多时候是对XML进行解析. 一.解析XML配置文件有两种机制: DOM和SAX的机制: DOM是将整 ...
- dom4j解析xml文档全面介绍
一.dom4j介绍 dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个非常非常优秀的Java XML API,具有性能优异.功能强大和极端易用使用的特点, ...
随机推荐
- 【C#遗补】获取应用程序路径之System.IO.Directory.GetCurrentDirectory和System.Windows.Forms.Application.StartupPath的区别
原文:[C#遗补]获取应用程序路径之System.IO.Directory.GetCurrentDirectory和System.Windows.Forms.Application.StartupPa ...
- 【足迹C++primer】30、概要(泛型算法)
概要(泛型算法) 大多数算法的头文件中定义algorithm在. 标准库也是第一个文件numeric它定义了一套通用算法. #include<iostream> #include<n ...
- 数学之路-python计算实战(19)-机器视觉-卷积滤波
filter2D Convolves an image with the kernel. C++: void filter2D(InputArray src, OutputArray dst, int ...
- MYSQL正在使用select发现现场记录方法,包括一个逗号分隔的字符串
首先,我们创建一个逗号分隔字符串. CREATE TABLE test(id int(6) NOT NULL AUTO_INCREMENT,PRIMARY KEY (id),pname VARCHAR ...
- ASP.NET 成员资格 Part.2(使用安全控件 Login)
原文:ASP.NET 成员资格 Part.2(使用安全控件 Login) 准备好提供程序以及用户信息的存储,就可以开始构建验证用户.注册用户或者让用户能够重置密码的用户界面了.ASP.N ...
- jquery再体验
$(function(){ var obj = $("div[id^='channel_'][id$='_left']"); var val = obj.html(); var i ...
- Python学习路径8——Python对象2
1.标准型运营商 1.1对象值对照 比较运算符用于如果相同类型的对象是相等.所有的内建类型的是在比较操作中支持,返回布尔比较操作值True 或 False. <span style=" ...
- Java笔试题1
1. 下面的代码执行后,什么结果输出是? String s1 = new String("Test"); String s2 = new String("Test&quo ...
- Red Gate系列之六 SQL Test 1.0.12.3 Edition SQL测试工具 完全破解+使用教程
原文:Red Gate系列之六 SQL Test 1.0.12.3 Edition SQL测试工具 完全破解+使用教程 Red Gate系列之六 SQL Test 1.0.12.3 Edition S ...
- HDU ACM 4578 Transformation->段树-间隔的变化
分析:复杂的经营分部树. 只有一个查询操作,这是要求[l,r]的数量之间p钍总和.并不是所有的查询所有节点,会议TLE.最好的是查询部件[a.b].所有这个区间值我们是平等的,即能返回(b-a+1)* ...