服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

jdom使用指南

 

xml文档的解析java中有很多种方法,例如使用domsaxjdom等等,相比之下,我觉得还是jdom比较方便。下面介绍一下jdom的基本使用方法,不对之处还请各位网友之交。谢谢!

最新的jdom可以到他的网站:http://www.jdom.org去下载,现在的版本是1.0版,下载之后将得到jdom-1.0.zip文件,解压后进入build文件夹将看到一个名为jdom.jar的包,这个就是jdom的类包了,将它加到你的classpath里就可以使用jdom提供的各种处理xml的类和他们的方法了。应该注意的是在解压后的文件夹里还有一个lib文件夹,里面保存的是使用jdom的环境包,不过我在我的jdk1.4下使用没引用这些包一样好用,不知道是jdk1.4中已经包含了这些东西还是原来我的eclipse已经引用了这些包,呵呵。

好了,书归正传,现在开始介绍jdom包的使用。


   jdom
包的结构包括:

org.jdom                包含了所有的xml文档要素的java

org.jdom.adapters         包含了与dom适配的java

org.jdom.filter            包含了xml文档的过滤器类

org.jdom.input            包含了读取xml文档的类

org.jdom.output           包含了写入xml文档的雷

org.jdom.transform        包含了将jdom xml文档接口转换为其他xml文档接口

org.jdom.xpath            包含了对xml文档xpath操作的类

下面将通过一个例子介绍jdom的常用操作

 

生成xml文档:

下面的类将生成一个xml文档:

/*

 * created on 2004-10-9

 *

 * 写入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");           //设置xml文件的字符为gb2312

        format.setindent("    ");               //设置xml文件的缩进为4个空格

       

        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--------------");

       

扫描关注微信公众号