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的更多相关文章

  1. JDOM 操作XML

    http://www.cnblogs.com/hoojo/archive/2011/08/11/2134638.html 可扩展标记语言——eXtensible Markup Language 用户可 ...

  2. 摘抄的 JAVA JDOM 操作XML文件

    JDOM修炼篇 用过XERCES的程序员都会感到,有时候用一句话就可以说清楚的事,当用XERCES的API来实现时,要三四行程序.   回页首 获得并安装JDOM 在 http://www.jdom. ...

  3. 使用jdom操作xml文件 去除子节点带有命名空间

    package com.soft.common; import java.util.HashMap; import java.util.Map; import org.jdom2.Namespace; ...

  4. 使用dom4j操作XML

    DOM4J介绍 DOM4J是使用Java语言编写的,用于读写及操作XML的一套组件,DOM4J同时具有DOM修改文件的优点和SAX读取快速的优点. DOM4J的使用 首先下载dom4j的JAR包,我用 ...

  5. jdom解析xml

    这次把代码整理了一下,打包发上来了,程序中需要用到的jar包也一起打在里面了,有兴趣的朋友可以解压后直接导入的eclipse里运行! xml是一种广为使用的可扩展标记语言,java中解析xml的方式有 ...

  6. Java操作XML牛逼利器JDOM&DOM4J

    JDOM  JDOM 是一种使用 XML(标准通用标记语言下的一个子集) 的独特 Java 工具包,用于快速开发 XML 应用 程序. JDOM 官方网站:http://www.jdom.org/ 利 ...

  7. Javaweb学习笔记——使用Jdom解析xml

    一.前言 Jdom是什么? Jdom是一个开源项目,基于树形结构,利用纯java的技术对XML文档实现解析,生成,序列化以及多种操作.它是直接为java编程服务,利用java语言的特性(方法重载,集合 ...

  8. Strus2第一次课:dom4j操作xml

    先从底层的xml操作技术记录: 当我们新建一个项目,什么架包都没加入的时候,java提供了 org.w3c.dom给我们操作xml里面的元素 import org.w3c.dom.Document; ...

  9. Java原生API操作XML

    使用Java操作XML的开源框架比较多,如著名的Dom4J.JDOM等,但个人认为不管你用那个框架都要对JDK原生的API有所了解才能更得心应手的应用.本篇就来简单了解下原生的XML API. JAV ...

随机推荐

  1. requestAnimationFrame与setInterval,setTimeout

    自打学习canvas动画以来,都说requestAnimationFrame好,就一直用,也没觉得有什么太过于特殊的地方,直到刚才,在写完前面的"小球碰撞墙壁----干掉误差"之后 ...

  2. springboot+redis

    上篇整合了DB层,现在开始整合缓存层,使用redis. springboot驱动注解,使用spring注入JedisPool便可封装自己的redis工具类. package hello.configu ...

  3. 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 ...

  4. java中return与finally的执行顺序

    可不能小看这个简单的 finally,看似简单的问题背后,却隐藏了无数的玄机.接下来我就带您一步一步的揭开这个 finally 的神秘面纱. 问题分析 首先来问大家一个问题:finally 语句块一定 ...

  5. URL转Drawable之 Android中获取网络图片的三种方法

    转载自: http://doinone.iteye.com/blog/1074283 Android中获取网络图片是一件耗时的操作,如果直接获取有可能会出现应用程序无响应(ANR:Applicatio ...

  6. .NET基于Redis缓存实现单点登录SSO的解决方案[转]

    一.基本概念 最近公司的多个业务系统要统一整合使用同一个登录,这就是我们耳熟能详的单点登录,现在就NET基于Redis缓存实现单点登录做一个简单的分享. 单点登录(Single Sign On),简称 ...

  7. Scala的模式匹配

    1.概述 2.程序示例(普通的示例) 3.模式匹配(Array) 4.程序示例(Array) 5.模式匹配(List) 6.程序示例 7.遍历 8.模式匹配(case class) 9.程序示例(传统 ...

  8. JMeter学习-031-JMeter 3.0 POST Body Data 中文乱码问题

    今天,朋友将 JMeter 的版本由 2.13 升级到了 3.0 发现之前接口脚本 POST 请求主体中的中文无法正确显示,现象如下图所示:

  9. l段子

    段子简介 L段子起源.L段子是开发者根据市场调查, 用户可在等候列车,飞机,或在公交车上无 聊之余使用本应用.打发无聊的时间,分为段 子,图片,活动和个人中心,用户可根据自己 喜好进入不同的区域.段子 ...

  10. jvm性能监控与故障处理工具

    jdk为我们提供了一系列的jvm性能监控和故障处理工具,在这里根据学习进度进行整理记录.便于之后查阅 1.jps 虚拟机进程工具  类似于Linux系统中的ps命令,用于查看虚拟机进程,常用的有以下功 ...