国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

Jdom使用指南

2019-11-18 11:23:02
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

 

對(duì)xml文檔的解析java中有很多種方法,例如使用dom、sax、jdom等等,相比之下,我覺(jué)得還是jdom比較方便。下面介紹一下jdom的基本使用方法,不對(duì)之處還請(qǐng)各位網(wǎng)友之交。謝謝!

最新的jdom可以到他的網(wǎng)站:http://www.jdom.org去下載,現(xiàn)在的版本是1.0版,下載之后將得到j(luò)dom-1.0.zip文件,解壓后進(jìn)入build文件夾將看到一個(gè)名為jdom.jar的包,這個(gè)就是jdom的類(lèi)包了,將它加到你的classpath里就可以使用jdom提供的各種處理xml的類(lèi)和他們的方法了。應(yīng)該注重的是在解壓后的文件夾里還有一個(gè)lib文件夾,里面保存的是使用jdom的環(huán)境包,不過(guò)我在我的jdk1.4下使用沒(méi)引用這些包一樣好用,不知道是jdk1.4中已經(jīng)包含了這些東西還是原來(lái)我的eclipse已經(jīng)引用了這些包,呵呵。

好了,書(shū)歸正傳,現(xiàn)在開(kāi)始介紹jdom包的使用。


   jdom包的結(jié)構(gòu)包括:

org.jdom                包含了所有的xml文檔要素的java類(lèi)

org.jdom.adapters         包含了與dom適配的java類(lèi)

org.jdom.filter            包含了xml文檔的過(guò)濾器類(lèi)

org.jdom.input            包含了讀取xml文檔的類(lèi)

org.jdom.output           包含了寫(xiě)入xml文檔的雷

org.jdom.transform        包含了將jdom xml文檔接口轉(zhuǎn)換為其他xml文檔接口

org.jdom.XPath            包含了對(duì)xml文檔xpath操作的類(lèi)

下面將通過(guò)一個(gè)例子介紹jdom的常用操作

 

生成xml文檔:

下面的類(lèi)將生成一個(gè)xml文檔:

/*

 * Created on 2004-10-9

 *

 * 寫(xiě)入xml文件的例子

 */

 

/**

 * @author lnman

 *

 * To change the template for this generated type comment go to

 * Window>PReferences>Java>Code Generation>Code and Comments

 */

import java.io.*;

import org.jdom.*;

import org.jdom.output.*;

 

public class WriteXML

{

    public void BuildXML() throws Exception

    {

        Element root,student,number,name,age;

               

        root = new Element("student-info"); //生成根元素:student-info  

        student = new Element("student");      //生成元素:student,該元素中將包含元素number,name,age

        number = new Element("number");

        name = new Element("name");

        age = new Element("age");

       

        Document doc = new Document(root);    //將根元素植入文檔doc中

       

        number.setText("001");

        name.setText("lnman");

        age.setText("24");

        student.addContent(number);

        student.addContent(name);

        student.addContent(age);

        root.addContent(student);

       

        Format format = Format.getCompactFormat();

        format.setEncoding("gb2312");           //設(shè)置xml文件的字符為gb2312

        format.setIndent("    ");               //設(shè)置xml文件的縮進(jìn)為4個(gè)空格

       

        XMLOutputter XMLOut = new XMLOutputter(format);//在元素后換行,每一層元素縮排四格

        XMLOut.output(doc, new FileOutputStream("studentinfo.xml")); 

       

    }

   

    public static void main(String[] args) throws Exception

    {

        WriteXML w = new WriteXML();

        System.out.println("Now we build an XML document .....");

        w.BuildXML();

        System.out.println("finished!");

    }

 

}

 

生成的xml文檔為:

<?xml version="1.0" encoding="gb2312"?>

<student-info>

    <student>

        <number>001</number>

        <name>lnman</name>

        <age>24</age>

    </student>

</student-info>

 

讀取xml文檔的例子:

/*

 * Created on 2004-10-9

 *

 *用jdom讀取xml文檔的例子

 *

 */

 

/**

 * @author lnman

 *

 * To change the template for this generated type comment go to

 * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments

 */

import org.jdom.output.*;

import org.jdom.input.*;

import org.jdom.*;

import java.io.*;

import java.util.*;

public class ReadXML

{

   

    public static void main(String[] args) throws Exception

    {

       

       

        SAXBuilder builder = new SAXBuilder();

        Document read_doc = builder.build("studentinfo.xml");

        Element stu = read_doc.getRootElement();

        List list = stu.getChildren("student");

        for(int i = 0;i < list.size();i++)

        {

            Element e = (Element)list.get(i);

            String str_number = e.getChildText("number");

            String str_name = e.getChildText("name");

            String str_age = e.getChildText("age");

            System.out.println("---------STUDENT--------------");

            System.out.println("NUMBER:" + str_number);

            System.out.println("NAME:" + str_name);

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 福安市| 沙洋县| 固原市| 蒙自县| 剑川县| 建宁县| 新龙县| 呼玛县| 康平县| 隆化县| 梁平县| 高雄县| 大荔县| 陆良县| 原平市| 扬州市| 龙里县| 开阳县| 莆田市| 临夏县| 左贡县| 锦屏县| 中方县| 宣化县| 象州县| 乐亭县| 建水县| 红原县| 馆陶县| 富源县| 南康市| 富锦市| 延安市| 曲阳县| 峨边| 永泰县| 三明市| 平定县| 西乌珠穆沁旗| 民丰县| 漳浦县|