使用JDOM操作XML
JDOM介绍
JDOM是使用Java语言编写的,用于读写及操作XML的一套组件,Jdom同时具有DOM修改文件的优点和SAX读取快速的优点。
JDOM的使用
首先下载JDOM的JAR包,本文使用的是jdom-2.0.5,下载地址:http://download.csdn.net/detail/onroads/9719611
在工程目录下新建一个lib文件夹,将下载的jar包中的jar文件拷贝到lib文件夹下

右键项目Build Path->Configure Build Path...,如下图:

选择Libraries->Add JARs...,添加lib文件夹中的jdom-2.0.5.jar

使用JDOM
JDOM主要的操作类如下表:

创建XML文件:
Map<String, String> map = new HashMap<>();
map.put("小明", "xiaoming@163.com");
map.put("翠花", "cuihua@163.com"); Document document = null;
//定义根节点
Element addresslist = new Element("addresslist");
//声明一个Document对象
document = new Document(addresslist); Set<Entry<String, String>> set = map.entrySet();
Iterator<Entry<String, String>> iterator = map.entrySet().iterator();
int i=0;
while(iterator.hasNext()){
Entry<String, String> mapentry = iterator.next();
//定义节点
Element linkman = new Element("linkman");
Element name = new Element("name");
Element email = new Element("email");
//定义属性
Attribute id = new Attribute("id", ++i+"");
//设置节点内容
name.setText(mapentry.getKey());
email.setText(mapentry.getValue());
//将属性添加到节点
name.setAttribute(id);
//连接节点
linkman.addContent(name);
linkman.addContent(email);
addresslist.addContent(linkman);
} //用来输出XML文件
XMLOutputter out = new XMLOutputter();
//设置输出编码
out.setFormat(out.getFormat().setEncoding("GBK")); try{
//输出XML文件
out.output(document, new FileOutputStream("D:"+File.separator+"JdomXML.xml"));
}catch(Exception e){
e.printStackTrace();
}
生成的xml文件如下:
<?xml version="1.0" encoding="GBK" standalone="no"?>
<addresslist>
<linkman>
<name index="1">小丽</name>
<email>xiaoli@163.com</email>
</linkman>
<linkman>
<name index="2">李雷</name>
<email>lilei@163.com</email>
</linkman>
</addresslist>
读取刚才生成的xml文件:
SAXBuilder sbBuilder = new SAXBuilder();
Document doc = null;
try {
//找到Document
doc = sbBuilder.build("D:"+File.separator+"output.xml");
//读取根元素
Element stu = doc.getRootElement();
//得到全部linkman子元素
List list = stu.getChildren("linkman"); for(int i=0;i<list.size();i++){
Element element = (Element) list.get(i);
String name = element.getChildText("name");
String index = element.getChild("name").getAttributeValue("index");
String email = element.getChildText("email");
System.out.print("<name" + " index="+index+">" + name+"</name>");
System.out.println("<email>" + email+"</email>");
} } catch (Exception e) { e.printStackTrace();
}
解析结果:

使用JDOM操作XML的更多相关文章
- JDOM 操作XML
http://www.cnblogs.com/hoojo/archive/2011/08/11/2134638.html 可扩展标记语言——eXtensible Markup Language 用户可 ...
- 摘抄的 JAVA JDOM 操作XML文件
JDOM修炼篇 用过XERCES的程序员都会感到,有时候用一句话就可以说清楚的事,当用XERCES的API来实现时,要三四行程序. 回页首 获得并安装JDOM 在 http://www.jdom. ...
- 使用jdom操作xml文件 去除子节点带有命名空间
package com.soft.common; import java.util.HashMap; import java.util.Map; import org.jdom2.Namespace; ...
- 使用dom4j操作XML
DOM4J介绍 DOM4J是使用Java语言编写的,用于读写及操作XML的一套组件,DOM4J同时具有DOM修改文件的优点和SAX读取快速的优点. DOM4J的使用 首先下载dom4j的JAR包,我用 ...
- jdom解析xml
这次把代码整理了一下,打包发上来了,程序中需要用到的jar包也一起打在里面了,有兴趣的朋友可以解压后直接导入的eclipse里运行! xml是一种广为使用的可扩展标记语言,java中解析xml的方式有 ...
- Java操作XML牛逼利器JDOM&DOM4J
JDOM JDOM 是一种使用 XML(标准通用标记语言下的一个子集) 的独特 Java 工具包,用于快速开发 XML 应用 程序. JDOM 官方网站:http://www.jdom.org/ 利 ...
- Javaweb学习笔记——使用Jdom解析xml
一.前言 Jdom是什么? Jdom是一个开源项目,基于树形结构,利用纯java的技术对XML文档实现解析,生成,序列化以及多种操作.它是直接为java编程服务,利用java语言的特性(方法重载,集合 ...
- Strus2第一次课:dom4j操作xml
先从底层的xml操作技术记录: 当我们新建一个项目,什么架包都没加入的时候,java提供了 org.w3c.dom给我们操作xml里面的元素 import org.w3c.dom.Document; ...
- Java原生API操作XML
使用Java操作XML的开源框架比较多,如著名的Dom4J.JDOM等,但个人认为不管你用那个框架都要对JDK原生的API有所了解才能更得心应手的应用.本篇就来简单了解下原生的XML API. JAV ...
随机推荐
- requestAnimationFrame与setInterval,setTimeout
自打学习canvas动画以来,都说requestAnimationFrame好,就一直用,也没觉得有什么太过于特殊的地方,直到刚才,在写完前面的"小球碰撞墙壁----干掉误差"之后 ...
- springboot+redis
上篇整合了DB层,现在开始整合缓存层,使用redis. springboot驱动注解,使用spring注入JedisPool便可封装自己的redis工具类. package hello.configu ...
- shudupoj2676
#include<stdio.h> int num,v[100][2],map[10][10]; bool judge(int x,int y,int k) { int i,j,it,j ...
- java中return与finally的执行顺序
可不能小看这个简单的 finally,看似简单的问题背后,却隐藏了无数的玄机.接下来我就带您一步一步的揭开这个 finally 的神秘面纱. 问题分析 首先来问大家一个问题:finally 语句块一定 ...
- URL转Drawable之 Android中获取网络图片的三种方法
转载自: http://doinone.iteye.com/blog/1074283 Android中获取网络图片是一件耗时的操作,如果直接获取有可能会出现应用程序无响应(ANR:Applicatio ...
- .NET基于Redis缓存实现单点登录SSO的解决方案[转]
一.基本概念 最近公司的多个业务系统要统一整合使用同一个登录,这就是我们耳熟能详的单点登录,现在就NET基于Redis缓存实现单点登录做一个简单的分享. 单点登录(Single Sign On),简称 ...
- Scala的模式匹配
1.概述 2.程序示例(普通的示例) 3.模式匹配(Array) 4.程序示例(Array) 5.模式匹配(List) 6.程序示例 7.遍历 8.模式匹配(case class) 9.程序示例(传统 ...
- JMeter学习-031-JMeter 3.0 POST Body Data 中文乱码问题
今天,朋友将 JMeter 的版本由 2.13 升级到了 3.0 发现之前接口脚本 POST 请求主体中的中文无法正确显示,现象如下图所示:
- l段子
段子简介 L段子起源.L段子是开发者根据市场调查, 用户可在等候列车,飞机,或在公交车上无 聊之余使用本应用.打发无聊的时间,分为段 子,图片,活动和个人中心,用户可根据自己 喜好进入不同的区域.段子 ...
- jvm性能监控与故障处理工具
jdk为我们提供了一系列的jvm性能监控和故障处理工具,在这里根据学习进度进行整理记录.便于之后查阅 1.jps 虚拟机进程工具 类似于Linux系统中的ps命令,用于查看虚拟机进程,常用的有以下功 ...