`
朱嘉华
  • 浏览: 238377 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

使用JDOM来生成XML文档

    博客分类:
  • java
阅读更多

下面介绍使用Eclipse来加载JDOM的jar包,同时利用JDOM来创建并生成一个XML文档。步骤如下。

(1)在Eclipse中建立工程项目。单击 “File”|“New”|“Project”命令菜单,如图22-6所示。

图22-6   Eclipse中选择建立工程

(2)在弹出窗口中选择“Java Project”,并单击“Next >”按钮。如图22-7所示。

(3)在弹出的“New Java Project”窗口中,在“Project name”文本框内输入工程名,例如输入“JDOMDemo”,之后单击“Finish”按钮,如图22-8所示。

(4)在JDOM的官方网站http://www.jdom.org/dist/binary/下载JDOM的jar包,如图22-9所示。

        

           图22-7   选择建立Java工程                                图22-8   创建工程

(5)下载完毕后,将其解压缩,解压缩后的“jdom.jar”文件即JDOM的jar包,如图22-10所示。

  

           图22-9   JDOM官方下载页面                       图22-10   jdom.jar文件目录

(6)在已经建立好的Eclipse工程项目中,导入jdom.jar包。鼠标移至工程名“JDOMDemo”上,单击鼠标右键,在弹出菜单中单击“Properties”菜单项,如图22-11所示。

(7)在出现的“Properties for JDOMDemo”窗口中,选择“Java Build Path”选项,再在右边选择“Libraries”标签,并在其窗口中单击“Add External JARs…”按钮(添加Eclipse外部jar包),如图22-12所示。

图22-11   选择工程属性编辑选项

图22-12   工程属性编辑窗口

(8)在出现的JAR Selection窗口中,选择之前下载好的“jdom.jar”文件,并单击“打开”按钮,如图22-13所示。

(9)完成以上的几步后,会在“Libraries”标签窗口中发现多出了jdom一项,就说明导入成功了,并点击“OK”按钮,如图22-14所示。

图22-13   导入“jdom.jar”文件窗口

图22-14   成功导入“jdom.jar”文件窗口

(10)在工程项目中添加生成XML文档的类CreateXML,如图22-15所示。

(11)在代码编辑窗口中编写代码,用于生成XML文档,如代码22-7所示。

代码22-7   使用JDOM生成XML文档CreateXML.java

import java.io.*;

import java.util.*;

import org.jdom.*;

import org.jdom.input.*;

import org.jdom.output.*;

public class CreateXML

{

       /**

图22-15   创建CreateXML类

        * @param args

        */

       //声明XML中所有的元素

       Element customer,name,age,sex,address,street,city,district;

      

       public CreateXML()

       {

             //创建customer元素,并设置为XML文档的根节点

             customer = new Element("customer");

             Document myDocument = new Document(customer);

            

             //创建XML文档中的其他元素,并初始化元素名

             name = new Element("name");

             age = new Element("age");

             sex = new Element("sex");

             address = new Element("address");

             street = new Element("street");

             city = new Element("city");

             district = new Element("district");

            

             //给XML文档中的每一个元素添加内容值

             name.addContent("Wang Xiao Yue");

             age.addContent("24");

             sex.addContent("male");

             street.addContent("No.1 East Rood,ShangDi");

             district.addContent("Hai Dian");

             city.addContent("Bei Jing");

            

             //将street、district和city元素作为子元素,添加到address元素中

             address.addContent(street);

             address.addContent(district);

             address.addContent(city);

            

             //将address元素作为子元素,添加到customer根元素中

             customer.addContent(name);

             customer.addContent(age);

             customer.addContent(sex);

             customer.addContent(address);

            

             try

             {

                   //创建XML文件输出流

                   XMLOutputter fmt = new XMLOutputter();

                  

                   //创建文件输出流

                   FileWriter writer = new FileWriter("c:\\customer.xml");

                  

                   //设置所创建的XML文档的格式

                   Format f = Format.getPrettyFormat();

                   fmt.setFormat(f);

                  

                   //将生成的XML文档写入到"c:\customer.xml"文件中

                   fmt.output(myDocument, writer);

                   writer.close();

             }

             catch (Exception e) {e.printStackTrace();}

       }

       public static void main(String[] args)

       {

             // TODO Auto-generated method stub

             CreateXML createXML = new CreateXML();

       }

}

程序运行后,会在“C:\”目录下生成 “customer.xml”文件,如图22-16所示。

新创建的“customer.xml”文件的内容如图22-17所示。

   

          图22-16   生成的“customer.xml”文件             图22-17   生成的“customer.xml”文件内容

22.3.2   使用JDOM来处理XML文档

本节介绍使用JDOM来处理之前建立的XML文档“customer.xml”,包括添加、删除以及修改XML文档中的元素。步骤如下。

(1)在之前建立的工程项目JDOMDemo中,添加处理XML文档的类ModifyXML,如图22-18所示。

图22-18   创建ModifyXML类

(2)在代码编辑窗口中编写代码,用于处理XML文档,见代码22-8所示。

代码22-8   使用JDOM处理XML文档ModifyXML.java

import org.jdom.*;

import org.jdom.output.*;

import org.jdom.xpath.*;

import java.io.*;

import java.util.Iterator;

import java.util.List;

import org.jdom.*;

import org.jdom.input.*;

import org.jdom.output.*;

public class ModifyXML

{

       /**

        * @param args

        */

       File file;                                            //声明File对象file

       Document doc;                    //声明Document对象doc

       SAXBuilder builder;                                 //声明用来解析XML文档的SAXBuilder类对象builder

      

       public ModifyXML()

       {

             try

             {

                   //创建文件对象指向"c:\customer.xml"文件

                   file = new File("c:\\customer.xml");

                  

                   //创建builder对象,并使用该对象中的build方法处理XML文件

                   builder = new SAXBuilder();

                   doc = builder.build(file);

             }

             catch(IOException e){}

             catch(Exception e){}

            

             //获得XML文档的根节点元素

             Element root=doc.getRootElement();

            

             //获得XML文档根节点元素下的全部子节点元素

             List list = root.getChildren();

            

             //利用循环来处理全部子节点元素

             for (Iterator iter = list.iterator(); iter.hasNext();)

             {

                     //获得其中一个字节点元素

                     Element element = (Element)iter.next();

                  

                     //获得该子节点元素名

                     String nodeName = element.getName();

                  

                     //当所获得的子元素名为"address"时的处理

                     if(nodeName.equals("address"))

                     {

                           //添加子元素"country",并设置其内容为"China"

                           Element country = new Element("country");

                           country.addContent("China");

                           element.addContent(country);

                        

                           //修改名为"street"的子元素内容

                           Element street = element.getChild("street");

                           street.setText("BUPT,10# XiTuCheng road");

                        

                           //修改名为"district"的子元素

                           element.removeChild("district");

                     }

             }

             try

             {

                     //创建XML文件输出流

                     XMLOutputter fmt = new XMLOutputter();

                  

                     //创建文件输出流

                     FileWriter writer = new FileWriter("c:\\customer.xml");

                  

                     //设置所创建的XML文档的格式

                     Format f = Format.getPrettyFormat();

                     fmt.setFormat(f);

                  

                     //将生成的XML文档写入到"c:\customer.xml"文件中

                     fmt.output(doc, writer);

                     writer.close();

             }

             catch (Exception e) {e.printStackTrace();}

       }

      

       public static void main(String[] args)

       {

             // TODO Auto-generated method stub

             ModifyXML modifyXML = new ModifyXML();

       }

}

程序运行后,“customer.xml”文件的内容如图22-19所示。

分享到:
评论

相关推荐

    使用JDOM解析XML文件

    在Java编程中,JDOM(Java Document Object Model)是处理XML的一种库,它提供了方便的方式来创建、修改和读取XML文档。本篇文章将深入探讨如何使用JDOM解析XML文件。 首先,我们需要理解JDOM的基本结构。JDOM通过...

    jdom 读取XML 文件

    JDOM是Java中一个用于处理XML文档的库,它提供了一种高效且方便的方式来创建、读取、修改XML文件。本篇文章将深入探讨如何使用JDOM来读取XML文件。 首先,我们需要了解JDOM的基本概念。JDOM通过构建一棵DOM...

    jdom学习读取xml文件.files

    JDOM提供了一种树型结构来表示XML文档,其中XML元素、属性、文本和注释等都对应于特定的Java对象。通过这些对象,我们可以方便地创建、修改和读取XML文档。 要使用JDOM读取XML文件,首先需要导入相应的库。在Java...

    java 使用JDOM解析xml文件.docx

    Java 使用 JDOM 解析 XML 文件 Java 是一种广泛使用的程序设计语言,而 XML 是一种广泛使用的标记语言,用于存储和传输数据。在 Java 中,解析 XML 文件是一件常见的任务,而 JDOM 是一个流行的开源库,用于解析和...

    jdom 读取修改xml文件

    然后创建了一个名为 `readXML` 的类,该类中的 `main` 方法展示了如何使用 JDOM 来读取一个名为 `text.xml` 的 XML 文件: ```java SAXBuilder sb = new SAXBuilder(); Document doc = sb.build(new FileInputStream...

    JDOM解析本地XML

    2. **创建XML文档**:JDOM提供了多种方式来构建XML文档,例如通过`DocumentBuilder`的`newDocument()`方法创建空文档,然后逐步添加元素和属性。 3. **解析XML文件**:使用`SAXBuilder`或者`JDOMBuilder`可以解析...

    JDOM操作xml文件的xmlBean

    JDOM(Java Document Object Model)是一种基于Java的XML解析API,它提供了一种简便的方式来解析和操作XML文档。与传统的DOM相比,JDOM更加注重性能和易用性,避免了DOM中的一些冗余设计。JDOM的主要优势在于它具有...

    Java生成xml(jdom)

    4. **文档构建**:通过`Document`类的构造函数,传入根元素来创建XML文档。 5. **序列化**:使用`XMLOutputter`将XML文档写入文件或输出流,可以自定义输出格式。 在实际开发中,可能还需要处理更复杂的XML结构,...

    用jdom解析xml文件

    JDOM是Java中一个专门用来解析XML的库,它提供了方便的API来读取、修改和创建XML文档。在这个例子中,我们将深入探讨如何使用JDOM解析XML文件,并进行遍历与构建。 首先,我们需要了解JDOM的基本概念。JDOM主要由三...

    JDOM使用详解XML及实例

    **JDOM** 是一个专为Java设计的XML处理库,它提供了一种高效且便捷的方式来解析、创建、修改和序列化XML文档。JDOM通过利用Java语言的强大特性,如方法重载、集合和映射,将SAX和DOM的优点结合在一起,简化了XML处理...

    java利用jdom读取xml文件

    JDOM,全称为Java Document Object Model,是一种专为Java设计的XML处理API,它提供了对XML文档结构的完整映射,使得我们可以方便地创建、读取和修改XML文件。下面将详细介绍如何使用JDOM来读取XML文件。 首先,...

    Spring+iBatis+JDom递归生成XML树

    5. **输出XML**:完成XML树构建后,使用JDom的相应方法将XML树写入文件,生成最终的XML文档。 6. **优化和性能**:为了提高效率,可以在生成XML的过程中进行缓存优化,避免不必要的数据库查询。同时,合理设计XML...

    利用jdom操作xml文档

    本文详细介绍了如何使用 JDOM 库创建 XML 文档,以及如何进行基本的 XML 文件解析。通过这些基础操作,您可以轻松地使用 Java 来管理和操作 XML 数据。JDOM 的简洁性和易用性使其成为处理 XML 数据的理想选择之一。

    JDOM生成xml文档

    NULL 博文链接:https://newtime.iteye.com/blog/437109

    Jdom生成与解析XML

    3. **构建元素**: 使用`Element`类创建XML元素。元素具有属性和子元素,可以通过`setAttribute`和`addContent`方法添加。 4. **添加文本内容**: 使用`Text`类添加元素的文本内容。 5. **写入文件**: 最后,使用`...

    jdom.jar xml解析

    JDOM的目标是为Java开发者提供一个高效且易于使用的接口来处理XML文档。相比于DOM(Document Object Model),JDOM在Java环境中更为轻量级,因为它无需依赖Java平台的额外组件,如SAX或DOM解析器。 **XML解析方式**...

    JDOM读取XML,并且创建XML

    在IT行业中,XML(eXtensible Markup Language)是一种被广泛...无论是解析现有的XML文件还是构建新的XML文档,JDOM都能提供必要的支持。通过深入学习和实践,开发者可以充分利用JDOM的功能,提升XML处理的效率和质量。

    JDOM解析xml文档实例(自己编写,仅供参考)

    在这个例子中,我们将学习如何读取XML文件,创建一个`SAXBuilder`对象来构建XML文档的DOM(文档对象模型)表示,然后通过`Document`对象来访问和修改XML结构。 2. `sohuchannel.xml`:这是我们要解析的XML文件,可能...

Global site tag (gtag.js) - Google Analytics