最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java使用dom4j生成與解析xml文檔的方法示例

 更新時(shí)間:2017年07月18日 08:56:00   作者:青蛙小王子  
這篇文章主要介紹了java使用dom4j生成與解析xml文檔的方法,結(jié)合實(shí)例形式分析了java基于dom4j操作xml節(jié)點(diǎn)生成xml文檔以及解析xml文檔的相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了java使用dom4j生成與解析xml文檔的方法。分享給大家供大家參考,具體如下:

xml是一種新的數(shù)據(jù)格式,主要用于數(shù)據(jù)交換。我們所用的框架都有涉及到xml。因此解析或生成xml對(duì)程序員也是一個(gè)技術(shù)難點(diǎn)。這里就用dom4j來(lái)生成一個(gè)文檔,需要注意的是每個(gè)xml文檔只有一個(gè)根節(jié)點(diǎn)。

package org.lxh;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.UnsupportedEncodingException;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
public class CreateXml {
  public static void main(String[] args) {
    File f=new File("d:"+File.separator+"my.xml");
    Document docu=DocumentHelper.createDocument(); //創(chuàng)建xml文檔
    Element linkman=docu.addElement("linkman");  //創(chuàng)建根節(jié)點(diǎn)
    Element name=linkman.addElement("name"); //創(chuàng)建子元素
    Element age=linkman.addElement("age");
    name.setText("陳瑞銀");  //設(shè)置name節(jié)點(diǎn)的內(nèi)容
    age.setText("22");    //設(shè)置age節(jié)點(diǎn)的內(nèi)容
    OutputFormat format=OutputFormat.createPrettyPrint(); //指定輸出格式
    format.setEncoding("UTF-8");  //指定輸出編碼
    try {
      XMLWriter w=new XMLWriter(new FileOutputStream(f),format); //輸出文件
      w.write(docu); //輸出內(nèi)容
      w.close();
    } catch (Exception e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  }
}

現(xiàn)在看一下文檔生成沒(méi)有,如圖所示

文檔生成了,這個(gè)文檔比較簡(jiǎn)單。生成復(fù)雜的文檔也是一樣的道理。下面來(lái)解析一下這個(gè)xml。

代碼如下所示

package org.lxh;
import java.io.File;
import java.util.Iterator;
import org.dom4j.*;
import org.dom4j.io.SAXReader;
public class ReadXml {
  public static void main(String[] args) {
    File f=new File("d:"+File.separator+"my.xml");
    SAXReader read=new SAXReader();  //建立SAX解析讀取
    Document document=null;
    try {
      document=read.read(f);  //讀取文檔
      Element root=document.getRootElement();  //取得根元素
      //下面給注釋的部分用于解析復(fù)雜的xml(3層或以上)
      /*Iterator it=root.elementIterator();  //取得全部子節(jié)點(diǎn)
      while(it.hasNext())
      {
        /*Element e=(Element)it.next();
        System.out.println(e.elementText("name")); //取得文本元素
        System.out.println(e.elementText("age"));
      }*/
      System.out.println(root.elementText("age"));
    } catch (Exception e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  }
}

下面是運(yùn)行效果截圖

PS:這里再為大家提供幾款關(guān)于xml操作的在線工具供大家參考使用:

在線XML/JSON互相轉(zhuǎn)換工具:
http://tools.jb51.net/code/xmljson

在線格式化XML/在線壓縮XML
http://tools.jb51.net/code/xmlformat

XML在線壓縮/格式化工具:
http://tools.jb51.net/code/xml_format_compress

XML代碼在線格式化美化工具:
http://tools.jb51.net/code/xmlcodeformat

更多關(guān)于java算法相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論

海晏县| 临猗县| 攀枝花市| 冷水江市| 锡林郭勒盟| 汽车| 上饶市| 平乐县| 桃江县| 同德县| 新竹县| 淳安县| 林州市| 陆川县| 万盛区| 新乡县| 东乌珠穆沁旗| 通化县| 三河市| 蒲城县| 宕昌县| 辽阳县| 石嘴山市| 沧州市| 江安县| 邳州市| 阿坝| 平利县| 文昌市| 神池县| 自贡市| 库尔勒市| 寿宁县| 林芝县| 邢台县| 江门市| 汉阴县| 宝坻区| 诸暨市| 安溪县| 昌乐县|