zoukankan      html  css  js  c++  java
  • 使用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文件:

     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         }

       解析结果:

      

  • 相关阅读:
    java中引用数据类型Scanner类和Random类的使用-0509
    java中运算符的理解-0509
    MySQL-ER图
    MySQL-习题
    《大型网站技术架构:核心原理与案例分析》笔记
    rabbitmq php测试使用
    gearman管理工具GearmanManager的安装与使用
    让PHP7达到最高性能的几个Tips
    linux下查看最消耗CPU、内存的进程
    Gearman分布式任务处理系统
  • 原文地址:https://www.cnblogs.com/centor/p/6215082.html
Copyright © 2011-2022 走看看