使用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 ...
随机推荐
- 设计模式之六大原则——接口隔离原则(ISP)
设计模式之六大原则——接口隔离原则(ISP) 转载于:http://www.cnblogs.com/muzongyan/archive/2010/08/04/1792528.html 接口隔离原则 ...
- 2016.10.14,英语,《American Accent Training》
这本书是讲述美语发音训练的.已经看了一段时间了,决定向周叶学习,记录读书笔记.计划每天花半个小时,学习3节左右的音频(按照CD TRACK),并完成训练. CD1 Track1 What is Acc ...
- 使用flex布局通过order控制显示顺序
整个棋盘是用一个个"+"组成的,共15行15列,所以可以使用一个15X15的二维数组表示,用户下棋的位置用行列位置表示,这样用户下棋的位置所对应的数组元素将由"+&quo ...
- Thinking in Java——笔记(16)
Arrays Why arrays are special There are three issues that distinguish arrays from other types of con ...
- tp文件上传;org/RBAC.class.php 权限类;think/page,class,php分页类;
一.上传表单: 注意,要使用上传功能 你的表单需要设置 enctype="multipart/form-data" <form action="__URL__/up ...
- eclipse安装svn进行版本控制
1)通过help->installsoft->svn->add 填入http://subclipse.tigris.org/update_1.8.x 选择这两个,等其下载 2)配置一 ...
- 60个有用CSS代码片段
1.垂直对齐 如果你用CSS,则你会有困惑:我该怎么垂直对齐容器中的元素?现在,利用CSS3的Transform,可以很优雅的解决这个困惑: .verticalcenter{ position: re ...
- http获取图片信息
一.安卓访问网络需要AndroidManifest.xml配置这样一个节点 <manifest> <uses-permission android:name="androi ...
- JMeter学习-034-JMeter调试工具之一---HTTP Mirror Server
通常,编程工具IDE都提供了相应的调试模块,供开发者使用,以便更快速的定位问题所在.那么在JMeter编写测试脚本的过程中,JMeter都提供了哪些调试工具供我们使用呢? JMeter常用的调试工具有 ...
- linq操作文件方法
备忘 string directory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); List<File ...