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. Sublime Text 使用笔记

    常用快捷键 command+shift+d   # 复制当前行到下一行 .

  2. VS启用调试

    今天访问127.0.0.1  发现 与localhost 不是访问的同一个内容. 于是乎,就向到了另一个方法来调试程序. 1.在IIS 建立站点 并指向程序源. 2.启动vs 调试→附加到进程→找到w ...

  3. 总结-Intellij Idea (快捷键 配置修改)

    忽略大小写 输入sensitive,选择Code Completion,右边第一个下拉框,选择noneEditor 鼠标悬浮show quick docEditor Editor Tabs : Mar ...

  4. Linux一些零碎

    1.设置时间和市区 1.tzselect 2.sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

  5. python基础3

    一.文件操作:打开文件:f = open("db", "r") #只读f = open("db", "w") #只写,注 ...

  6. js保留两位小数

    js保留两位小数四舍五入: (Math.floor(until_price*100)/100).toFixed(2);//会四舍五入   保留两位小数 且不四舍五入(三种方式,请用最后一种): var ...

  7. linux系统中如何查看日志(转)

    cat tail -f 日 志 文 件 说    明 /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一 /var/log/secure 与安 ...

  8. css3水波纹效果

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. 学习vulkan的几个有用的网址

    <ignore_js_op> 1)一个权威向导网站:https://vulkan-tutorial.com/2)Imagination图形组织官网http://imgtec.eetrend ...

  10. 【Python + Selenium】Mock Testing 是啥?一个so上的高票答案。

    There are many kinds of testing which really made me confused. To be honest, I've never heard of som ...