`
lqwforever
  • 浏览: 33341 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

JDOM创建XML例子

阅读更多
        如果不为其设置,将会默认编码为utf-8,并且不会换行等,生成的XML就会不美观,在网上搜索了,原到有采用这样设置编码的:
Document doc = new Document(); //内存中已构造好的jdom Document对象 
XMLOutputter output = new XMLOutputter(2, true, "GB2312"); //2是指缩进2个字符,true表示用换行,--增强可读性 
FileOutputStream out = new FileOutputStream(fileName); 
output.output(doc, out);

        这是JDOM1.0以前支持的设置编码方法,以后的版本就没有了,JDOM已经将这一块功能给剥离出来,形成了Format对象,所有的设置都在该类当中处理,如下:
XMLOutputter out;     
Format format = Format.getCompactFormat();     
format.setEncoding("gb2312"); //setEncoding就是设置编码了    
format.setIndent("         "); //setIndent是设置分隔附的意思,一般都是用空格,就是当你新节点后,自动换行并缩进,有层次感,如果这样写setIndent(""),就只有换行功能,而不会缩进了,如果写成setIndent(null),这样就即不换行也不缩进,全部以一行显示了,默认的就是这样的效果,不好看。
out = new XMLOutputter(format);     
out.output(xmlDoc, new FileOutputStream("xml文件路径"));

完整的JDOM创建XML文件代码如下:
package com.star.jdbc; 

import java.io.FileOutputStream; 

import org.jdom.Document; 
import org.jdom.Element; 
import org.jdom.Namespace; 
import org.jdom.Text; 
import org.jdom.output.Format; 
import org.jdom.output.XMLOutputter; 

import junit.framework.TestCase; 

public class TestXML extends TestCase { 
    
  public void testCreate(){ 
    try{ 
      Document doc = new Document(); 
        
      Namespace ns = Namespace.getNamespace("http://www.bromon.org"); 
      Namespace ns2 = Namespace.getNamespace("other", "http://www.w3c.org"); 
        
      Element root = new Element("根元素", ns); 
      root.addNamespaceDeclaration(ns2); 
      doc.setRootElement(root); 
        
      Element el1 = new Element("元素一"); 
      el1.setAttribute("属性", "属性一"); 
      Text text1 = new Text("元素值"); 
        
      Element em = new Element("元素二").addContent("第二个元素"); 
      el1.addContent(text1); 
      el1.addContent(em); 
        
      Element el2 = new Element("元素三").addContent("第三个元素"); 
        
      root.addContent(el1); 
      root.addContent(el2); 
        
      XMLOutputter outputter = null; 
      Format format = Format.getCompactFormat(); 
      format.setEncoding("GB2312"); 
      format.setIndent("    "); 
      outputter = new XMLOutputter(format); 
        
      outputter.output(doc, new FileOutputStream("C:\\a.xml")); 
    }catch(Exception e){ 
      e.printStackTrace(); 
    } 
  } 
}

        当用JDK自带的解析器来解析XML文件时,DocumentBuilder的parse()方法接收一个XML文档名作为输入参数,返回一个Document对象,这个Document对象就代表了一个XML文档的树模型。以后所有的对XML文档的操作,都与解析器无关,直接在这个Document对象上进行操作就可以了。
提示:如果XML文件是放在当前WEB应用的"WEB-INF/classes"目录下时,则在读取XML文件前要设置parse()方法中的参数,如本例在parse()方法中设置的参数为:this.getClass().getResourceAsStream("/user.xml");这种方法安全性较好,因为WEB-INF目录是客户端无法访问的文件夹。如果XML文件是放在与JSP文件同一目录中,则参数应改为:pageContext.getServletContext().getRerouceAsStream("/user.xml");。提倡使用前一种方法。

转自:http://gang4415.blog.51cto.com/225775/248714/
分享到:
评论

相关推荐

    jdom处理xml例子

    使用JDOM创建XML文档涉及以下几个步骤: 1. 创建`DocumentBuilderFactory`实例。 2. 使用`DocumentBuilderFactory`创建`DocumentBuilder`。 3. 使用`DocumentBuilder`的`newDocument()`方法创建空的`Document`对象...

    Jdom解析xml案例

    JDOM是一个专为Java设计的XML处理库,它提供了一种高效且方便的方式来读取、修改和生成XML文档。 ### JDOM解析XML的基本概念 1. **DOM(Document Object Model)**:DOM是一种树形结构,将XML文档解析为一系列的...

    JDOM读取XML,并且创建XML

    本篇我们将聚焦于JDOM库,这是一个Java API,专门用于处理XML文档的创建和读取。JDOM提供了一个直接映射到XML文档的Java对象模型,使得操作XML变得更为便捷。 首先,让我们深入理解JDOM的基本概念。JDOM的核心类...

    用jdom解析xml文件

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

    Java生成xml(jdom)

    本教程将深入探讨如何使用JDOM库在Java中生成XML文档,并且重点介绍如何处理中文字符。 JDOM(Java Document Object Model)是一个纯Java的API,用于读取、写入和操作XML文档。它提供了简单而直接的方式来创建和...

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

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

    jdom解析xml文件小实例

    XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用在数据交换、配置文件、文档存储等领域。...在实际开发中,结合这些工具,我们可以轻松地实现对XML数据的读取、修改和生成。

    jdom解析XML文件and把字符串解析成XML

    下面通过一个具体的例子来展示如何使用JDOM解析XML文件。 假设我们有如下的XML文件(`example.xml`): ```xml <?xml version="1.0" encoding="UTF-8"?> 张三 <age>30 李四 <age>25 ``` #### 1. ...

    jdom读取xml详细例子

    在这个例子中,我们创建了一个 XML 文档,包括根元素 `School`,以及它的子元素 `College` 和 `Class`。每个元素都可能有属性和文本内容。最后,我们使用 `XMLOutputter` 将 `Document` 对象写入到一个文件中。 ...

    Jdom 操作的例子和包

    在Java中,JDOM(Java Document Object Model)是处理XML的一种API,它提供了方便的接口来创建、修改和读取XML文档。JDOM的核心理念是提供一个与平台无关、高性能、易于使用的API,让开发者能够以Java对象的形式来...

    jdom 解析xml存入hashmap的例子

    JDOM(Java Document Object Model)是Java中处理XML文档的一个库,它提供了一种简单、高效的API来读取、创建和修改XML文档。本篇将详细介绍如何使用JDOM解析XML文件,并将其内容存入HashMap中。 首先,我们需要...

    利用jdom操作xml文档

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

    jdom解析xml实例

    使用JDOM创建XML文件,首先需要构建一个`Element`对象作为根节点,然后添加子元素和属性。以下是一个简单的例子: ```java import org.jdom2.Document; import org.jdom2.Element; import org.jdom2.output....

    jdom读取xml全属性文件

    JDOM(Java Document Object Model)是Java的一个API,专门用来处理XML文档,提供了一种方便的方式来创建、修改和操作XML文档。本篇文章将详细探讨如何使用JDOM读取具有属性的XML文件,例如: ```xml ``` 首先,...

    用jdom解析xml

    在Java中,JDOM(Java Document Object Model)库提供了一个方便的方式来处理XML文档,它使我们能够通过Java对象模型来创建、修改和解析XML。本篇文章将深入探讨如何在JSP(JavaServer Pages)环境中利用JDOM解析XML...

    JDOM解析XML文档

    为了更好地理解如何使用JDOM进行XML解析,我们可以通过一个简单的例子来展示这一过程: 1. **创建SAXBuilder实例:** 使用`new SAXBuilder()`创建一个新的`SAXBuilder`对象。 2. **加载XML文件:** 通过调用`...

    jdom 读取修改xml文件

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

    dom4j和jdom解析XML小例子

    本文将深入探讨如何使用dom4j和jdom两种流行的Java库来解析XML文档,并通过具体的代码示例来展示它们的应用。 ### DOM4J DOM4J(Document Object Model for Java)是一个开放源代码的Java API,用于处理XML文档。...

    jdom读写xml说明

    JDOM是Java中处理XML的一种库,它提供了一种高效且易于使用的API来创建、读取和修改XML文档。本篇文章将详细探讨JDOM在读写XML操作中的应用。 ### 1. JDOM简介 JDOM是一个针对Java的DOM(Document Object Model)...

    jdom.jar xml解析

    4. **Builder**:用于创建和解析XML文档的类,如`SAXBuilder`用于从XML源生成DOM结构,`DocumentBuilder`用于构建XML文档。 5. **BasicJDOMFactory**:提供默认的元素和属性创建方法。 **使用JDOM解析XML的步骤** ...

Global site tag (gtag.js) - Google Analytics