`
cuisuqiang
  • 浏览: 3960275 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
3feb66c0-2fb6-35ff-968a-5f5ec10ada43
Java研发技术指南
浏览量:3670108
社区版块
存档分类
最新评论

使用JDOM生成和解析XML

阅读更多

到官方网站下载JDOM包http://www.jdom.org/ 

注意的是,版本1和版本2的类路径已经变更,如果你是更新使用版本2,则需要重新编译你的代码

 

package com.test;

import java.io.FileOutputStream;
import java.util.List;

import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.input.SAXBuilder;
import org.jdom2.output.Format;
import org.jdom2.output.XMLOutputter;

/**
 * @说明 JDom生成解析XML
 * @author cuisuqiang
 * @version 1.0
 * @since
 */
@SuppressWarnings("unchecked")
public class JDomDemo {
	public static void main(String[] args) {
		String file = "C:\\p.xml"; // 文件存放位置
		JDomDemo dj = new JDomDemo();
		dj.createXml(file);
		dj.parserXml(file);
	}
	/**  
     * 生成XML  
     * @param filePath 文件路径  
     */
	public void createXml(String fileName) {
		Element root = new Element("persons");
		Document document = new Document(root);
		Element person = new Element("person");
		root.addContent(person);
		Element name = new Element("name");
		name.setText("java小强");
		person.addContent(name);
		Element sex = new Element("sex");
		sex.setText("man");
		person.addContent(sex);
		Element age = new Element("age");
		age.setText("23");
		person.addContent(age);
		XMLOutputter XMLOut = new XMLOutputter();
		try {
			Format f = Format.getPrettyFormat();
			f.setEncoding("UTF-8");//default=UTF-8
			XMLOut.setFormat(f);
			XMLOut.output(document, new FileOutputStream(fileName));
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	 /**  
     * 解析XML  
     * @param filePath 文件路径  
     */ 
	public void parserXml(String fileName) {
		try {
			SAXBuilder builder = new SAXBuilder();
			Document document = builder.build(fileName);
			Element root = document.getRootElement();
			List persons = root.getChildren("person");
			for (int i = 0; i < persons.size(); i++) {
				Element person = (Element) persons.get(i);
				List pros = person.getChildren();
				for (int j = 0; j < pros.size(); j++) {
					Element element = (Element) pros.get(j);
					System.out.println(element.getName() + ":" + element.getValue());
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

 

请您到ITEYE网站看原创,谢谢!

http://cuisuqiang.iteye.com/ ! 

自建博客地址:http://www.javacui.com/ ,内容与ITEYE同步!

分享到:
评论
3 楼 baohuan_love 2013-12-18  
感谢楼主分享
2 楼 cuisuqiang 2013-09-02  
优点:①是基于树的处理XML的Java API,把树加载在内存中 ②没有向下兼容的限制,因此比DOM简单③速度快,缺陷少④具有SAX的JAVA规则
缺点:①不能处理大于内存的文档②JDOM表示XML文档逻辑模型。不能保证每个字节真正变换。③针对实例文档不提供DTD与模式的任何实际模型。④不支持与DOM中相应遍历包
1 楼 cuisuqiang 2013-09-02  
由于JDOM默认就是UTF-8格式,所以直接保存中文不会出现乱码问题,如果需要指定编码,则需要指定Format对象

相关推荐

    Jdom生成与解析XML

    下面我们将深入探讨如何利用JDOM生成XML以及解析XML。 一、JDOM生成XML 1. **导入JDOM库**: 首先,你需要在项目中引入JDOM库。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;org....

    Jdom 生成和解析XML字符串

    ### JDOM 生成和解析 XML 字符串 #### 一、概述 JDOM(Java Document Object Model)是一种基于 Java 的 API,用于处理 XML 文档。它提供了一种简单且直观的方式来构建、修改以及读取 XML 文件。JDOM 主要有两个...

    JAVA 解析XML生成XML文档实例

    JAVA 解析XML和生成XML文档源码。比较全 1.DOM生成和解析XML文档 2.SAX生成和解析XML文档 3.DOM4J生成和解析XML文档 4.JDOM生成和解析XML

    Java实现Jdom生成xml

    Java实现Jdom生成解析xml,一般可以用到存储数据。比如我以前做过的ERP系统,权限初始化就用的解析XML,但是现在上传的只是生成XML。如果哪位需要解析XML,留个言。。。。

    java 使用JDOM解析xml文件.docx

    首先,JDOM 库提供了一个简单易用的 API,易于使用和维护。其次,JDOM 库支持多种 XML 解析方式,包括 SAX、DOM 和 XPath 等。最后,JDOM 库提供了高效的解析性能,能够快速地解析大型 XML 文件。 使用 JDOM 库解析...

    jdom.jar xml解析

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

    用jdom解析xml

    在这个教程中,我们将深入探讨如何在JSP(JavaServer Pages)环境中使用JDOM解析XML。 **1. JDOM基本概念** JDOM的核心在于两个主要类:`Element`和`Document`。`Element`代表XML文档中的一个节点,而`Document`则...

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

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

    Jdom解析XML

    使用JDOM解析XML文档通常包括以下几个步骤: 1. 创建`SAXBuilder`实例,这是JDOM提供的解析器,可以将XML输入源转换为`Document`对象。 2. 使用`SAXBuilder`的`build`方法读取XML文件,生成`Document`对象。 3. ...

    利用JDOM解析xml文件

    本篇文章将深入探讨如何利用JDOM解析XML文件,并基于XML中的类名生成相应的对象。 首先,我们需要理解JDOM的基本概念。JDOM提供了一组Java对象来表示XML文档,包括Element(元素)、Attribute(属性)、Text(文本...

    生成、解析xml的四种方式(dom,dom4j,sax,jdom)

    本文将详细介绍生成和解析XML的四种主要方法:DOM、DOM4J、SAX和JDOM。 1. DOM(Document Object Model) DOM是W3C组织推荐的一种解析XML的标准方式。它将XML文档视为一个树形结构,每个节点代表XML文档的一部分。...

    jdom4j解析xml

    ### jdom4j解析XML实例详解 #### 生成XML文档 在示例代码中,`generateXML`方法用于创建一个XML文档。首先,通过`DocumentHelper.createDocument()`调用创建了一个空白的`Document`对象,这相当于创建了一个XML文件...

    Jdom解析xml案例

    5. **Builder**: JDOM使用`Builder`来构建或解析XML文档。它可以是`SAXBuilder`或`DOMBuilder`,分别基于SAX和DOM解析机制。 ### 使用JDOM解析XML的步骤 1. **导入依赖**: 在Java项目中,你需要引入JDOM的库。如果...

    jdom从数据库和xml拿数据生成xml

    4. **XML解析与生成**:JDOM提供API来解析XML文件,将XML文档转化为内存中的对象结构,这使得可以方便地遍历和修改XML内容。同样,也可以使用JDOM来生成新的XML文档,包括从数据库中提取的数据。 5. **JDOM基本使用...

    jdom解析xml文件小实例

    JDOM是Java领域中一个专门用来解析XML的库,它提供了一种高效且易于使用的API来处理XML文档。在这个小实例中,我们将深入探讨如何使用JDOM解析XML文件。 首先,我们需要引入JDOM的依赖。在Java项目中,如果你使用的...

    jdom-1.0,jdom解析xml

    使用JDOM-1.0解析XML文档主要有两种方式:SAXBuilder和DOMBuilder。 #### 1. SAXBuilder SAXBuilder基于SAX(Simple API for XML)事件驱动模型,逐事件地处理XML文档,适用于大文件或内存有限的情况。 ```java ...

    Java解析XML的jar包+四种解析方法

    java解析xml的四种方法的比较,还有四种方法所用到的jar包 附带程序例子 1.DOM生成和解析XML文档 2.SAX生成和解析XML文档 3.DOM4J生成和解析XML文档 4.JDOM生成和解析XML

    通过jdom生成xml

    同时,JDOM提供了丰富的API,如解析XML文件、查询元素、修改内容等,使得XML处理更加灵活和高效。 在实际开发中,你可能会遇到一些挑战,比如处理命名空间、处理CDATA段、或者进行XPath查询。JDOM都提供了相应的...

    使用JDOM来生成XML文档

    你可以使用`SAXBuilder`或`DOMBuilder`来解析XML内容。 3. **查询与修改**:JDOM提供了XPath支持,可以方便地查询和修改XML文档。例如,`Document.getRootElement().getChild()`和`Document.getRootElement()....

    xml 解析(Jdom代码)

    JDOM通过构建DOM(Document Object Model)树来解析XML,DOM是一种与平台和语言无关的接口,可以将XML文档表示为一系列的节点。 **1. JDOM的基本概念** - **Element**: 表示XML文档中的元素,如`&lt;book&gt;`。 - **...

Global site tag (gtag.js) - Google Analytics