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. 安装oracle 11g时出现启动服务出现错误,找不到OracleMTSRecoveryService

    运行注册表(cmd-输入regedit),到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services下,找到OracleMTSRecoveryServ ...

  2. 利用xtrabackup备份mysql数据库

    利用xtrabackup备份mysql数据库 一.安装1.直接下载二进制文件wget http://www.percona.com/downloads/XtraBackup/XtraBackup-2. ...

  3. IBM 3090 with Vector Facility

    COMPUTER OR GANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION

  4. java 4种方式读取配置文件 + 修改配置文件

    版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[-] 方式一采用ServletContext读取读取配置文件的realpath然后通过文件流读取出来 方式二采用ResourceB ...

  5. PL/SQL %TYPE和%ROWTYPE的区别【转】

    %TYPE: 定义一个变量,其数据类型与已经定义的某个 数据变量的类型相同,或者与数据库表的某个列的数据类型 相同,这时可以使用%TYPE.         使用%TYPE 特性的优点在于: 1.所引 ...

  6. 《Linux及安全》实践2

    <Linux及安全>实践2 [edited by 5216lwr] 一.Linux基本内核模块 1.1理解什么是内核模块 linux模块是一些可以作为独立程序来编译的函数和数据类型的集合. ...

  7. wordpres 自定义comment样式

    http://wange.im/diy-wordpress-comment-style.html function mytheme_comment($comment, $args, $depth) { ...

  8. 解决界面有搜索栏时,点击TableView的空白界面,键盘不消失的问题

    UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(h ...

  9. async 和 await小结

    三大返回值: 返回类型 - Task<TResult> 返回类型 - Task 返回类型 - void 当你添加 async 关键字后,需要返回一个将用于后续操作的对象,请使用 Task& ...

  10. Python学习【第九篇】函数

    函数 函数是什么? 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 在学习函数之前,一直遵循:面向过程编程,即:根据业务逻辑从上而下实现功能,其往往用一段代码来实现指定功能,开发过 ...