使用JDOM操作XML

來源:互聯網
上載者:User

標籤:exce   mat   ima   pen   dex   編寫   str   2.0   sep   

  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         }

   解析結果:

  

 

使用JDOM操作XML

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.