使用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("小明", "[email protected]");
        map.put("翠花", "[email protected]");

        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>[email protected]</email>
    </linkman>
    <linkman>
        <name index="2">李雷</name>
        <email>[email protected]</email>
    </linkman>
</addresslist>

读取刚才生成的xml文件:

 1         SAXBuilder sbBuilder = new SAXBuilder();
 2         Document doc = null;
 3         try {
 4             //找到Document
 5             doc = sbBuilder.build("D:"+File.separator+"output.xml");
 6             //读取根元素
 7             Element stu = doc.getRootElement();
 8             //得到全部linkman子元素
 9             List list = stu.getChildren("linkman");
10
11             for(int i=0;i<list.size();i++){
12                 Element element = (Element) list.get(i);
13                 String name = element.getChildText("name");
14                 String index = element.getChild("name").getAttributeValue("index");
15                 String email = element.getChildText("email");
16                 System.out.print("<name" + " index="+index+">" + name+"</name>");
17                 System.out.println("<email>" + email+"</email>");
18             }
19
20         } catch (Exception e) {
21
22             e.printStackTrace();
23         }

  解析结果:

  

时间: 2024-08-05 10:31:25

使用JDOM操作XML的相关文章

JDOM 操作XML

http://www.cnblogs.com/hoojo/archive/2011/08/11/2134638.html 可扩展标记语言——eXtensible Markup Language 用户可以自己定义语言标记,只要有开始和闭合标签即可. xsl装饰.修饰xml的显示结果. dtd约束xml文件中的标记. Ø XML的优点: 1.xml可以让数据和标记分离. 2.异质信息互通 3.机器语言 4.用交流语言替代html装饰语言 5.简单易用 6.可以自定义.可扩展 Ø XML和HTML比较

摘抄的 JAVA JDOM 操作XML文件

JDOM修炼篇 用过XERCES的程序员都会感到,有时候用一句话就可以说清楚的事,当用XERCES的API来实现时,要三四行程序. 回页首 获得并安装JDOM 在 http://www.jdom.org/可以下载JDOM的最新版本,将压缩包中的jdom.jar及lib目录下的全部jar包加入到classpath就可以了. 回页首 用JDOM解析XML JDOM模型的全部类都在org.jdom.*这个包里,org.jdom.input.*这个包里包含了JDOM的解析器,其中的DOMBuilder的

Jdom操作xml,按照指定要求分类

转自本人博客:http://www.xgezhang.com/jdom_xml_separate.html JDOM是两位著名的 Java 开发人员兼作者,Brett Mclaughlin 和 Jason Hunter 的创作成果, 2000 年初在类似于Apache协议的许可下,JDOM作为一个开放源代码项目正式开始研发了.它已成长为包含来自广泛的 Java 开发人员的投稿.集中反馈及错误修复的系统,并致力于建立一个完整的基于 Java 平台的解决方案,通过 Java 代码来访问.操作并输出

转 四种操作xml的方式(SAX, DOM, JDOM, DOM4J)比较

四种操作xml的方式(SAX, DOM, JDOM, DOM4J)比较 (2010-10-29 15:31:28) 转载▼  http://blog.sina.com.cn/s/blog_6458bf440100mgjs.html 标签: 杂谈 分类: JAVA技术 1 介绍 引子:XML自从出现以来,以其可扩展性.自描述性.自相容性等优点,被誉为信息标准化过程的有力工具,基于XML的标准将成为以后信息标准的主流.伴随而生的是针对XML的操作技术,“名人总的有人去解析”吗!下面是愚人对目前主要的

JDOM读取xml

[摘 要]JDOM是一个开源项目,它基于树型结构,利用纯JAVA的技术对XML文档实现解析.生成.序列化以及多种操作. 一.JDOM 简介 JDOM是一个开源项目,它基于树型结构,利用纯JAVA的技术对XML文档实现解析.生成.序列化以及多种操作. JDOM 直接为JAVA编程服务.它利用更为强有力的JAVA语言的诸多特性(方法重载.集合概念以及映射),把SAX和DOM的功能有效地结合起来. 在使用设计上尽可能地隐藏原来使用XML过程中的复杂性.利用JDOM处理XML文档将是一件轻松.简单的事.

XML编程总结(四)——使用dom4j方式操作xml

(四)使用dom4j方式操作xml dom4j是解析XML的一种开源API,是jdom的升级品,用来读写XML文档.它具有性能优异.功能强大和极易使用的特点,它的性能超过sun公司官方的dom技术.dom4j对Xpath有良好的支持(使用xpath时需要导入jaxen的jar包),dom4j最大的特色使用大量的接口.使用dom4j时需要导入dom4j-xxx.jar包. Attribute ——Attribute定义了XML的属性 Branch ——Branch为能够包含子节点的节点如XML元素

Strus2第一次课:dom4j操作xml

先从底层的xml操作技术记录: 当我们新建一个项目,什么架包都没加入的时候,java提供了 org.w3c.dom给我们操作xml里面的元素 import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; 并且提供了 javax.xml来读取xml.对xml进行增删改操作 如何读取一个xml文件: 导包: javax.xml.parsers

DOM4J与JDOM解析xml文档

1.   JDOM方式解析XML JDOM并不是java官方解析xml文档的方法,所以在进行文档解析前,需要下载JDOM的jar包:http://www.jdom.org/downloads/:并将其路径添加到当前项目中,或者把jar包拷贝到当前项目中. 同样地使用前面的books.xml文档进行解析: books.xml: <?xml version="1.0" encoding="UTF-8"?> <bookstore> <book

Java demo之Java操作XML

Java是一门高级编程语言,自然少不了对各种文件进行操作的功能.现在笔者就来写一个操作XML的demo供大家参考和学习.首先要知道Java对XML操作的方式并非只有一种,那么究竟哪种方式更高效,哪种方式更适用或主流呢?Java主要有四种方式操作XML文件,下面我们就用代码下载来看一看,比较一下.     以下是Java创建XML文件的四种主流方式. Java代码    public class CreateTest { /** * DOM方式生成xml文档 */ private void DOM