`
bolovesang
  • 浏览: 16927 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

JDOM = DOM + SAX

    博客分类:
  • JSP
阅读更多
WriteXML:

使用JDOM 完成简单的XML输出,相比DOM方便许多.
package org.mhb.xml.jdom;
import java.io.*;
import org.jdom.*;
import org.jdom.output.*;
public class WriteXML
{
	public static void main(String[] args)throws Exception
	{
		Element addresslist = new Element("addresslist");
		Element linkman = new Element("linkman");
		Element name = new Element("name");
		Element email = new Element("email");
		Attribute id = new Attribute("id","mhb");
		Document doc = new Document(addresslist);
		name.setText("mhb");
		name.setAttribute(id);
		email.setText("www.baidu.com");
		linkman.addContent(name);	//设置关系
		linkman.addContent(email);
		addresslist.addContent(linkman);
		XMLOutputter out = new XMLOutputter();
		out.setFormat(out.getFormat().setEncoding("GBK"));
		out.output(doc,new FileOutputStream(new File("D:" + File.separator + "address.xml")));
	}
}


ReadXML:
使用JDOM 完成xml文件的读取.
package org.mhb.xml.jdom;
import java.io.*;
import java.util.*;
import org.jdom.*;
import org.jdom.input.*;
public class ReadXML
{
	public static void main(String[] args)throws Exception
	{
		SAXBuilder builder = new SAXBuilder();
		Document read_doc = builder.build(new File("D:" + File.separator + "address.xml"));
		Element root = read_doc.getRootElement();//取得根
		List list = root.getChildren("linkman");//得到所有的linkman
		for(int i=0;i<list.size();i++)
		{
			Element e = (Element) list.get(i);
			String name = e.getChildText("name");
			String id = e.getChild("name").getAttribute("id").getValue();
			String email = e.getChildText("email");
			System.out.println("************** 联系人 **************");
			System.out.println("姓名:" + name + ",编号:" + id);
			System.out.println("Email:" + email);
			System.out.println("*************************************");
			System.out.println();
		}
	}
}


由WriteXML生成的address.xml文件,并由ReadXML读取.
<?xml version="1.0" encoding="GBK"?>
<addresslist>
	<linkman>
		<name id="mhb">mhb</name>
		<email>www.baidu.com</email>
	</linkman>
</addresslist>



    通过比较可以清楚的发现,通过JDOM实现的XML解析的功能本身融合了DOM和SAX的特点,但是在使用起来时却非常方便,这就是JDOM之所以使用广泛的原因了,但是现在最新的XML解析包并不是JDOM.
    最新的是DOM4J.
1
0
分享到:
评论
1 楼 bolovesang 2012-03-03  
  

相关推荐

    jdom,dom,sax架包

    Java XML处理技术是Java开发中不可或缺的一部分,主要包含三种主流的API:JDOM、DOM和SAX。这些库被广泛用于解析、创建和操作XML文档,各有其特点和适用场景。 1. JDOM(Java DOM): JDOM是Java特定的DOM实现,它...

    XML的四种解析器(dom,sax,jdom,dom4j)原理及性能比较,超详细

    常见的 XML 解析器有 DOM、SAX、JDOM 和 DOM4J 等。每种解析器都有其特点和优缺,选择合适的解析器对应用程序的性能和开发效率有很大影响。 1. DOM 解析器 DOM(Document Object Model)是 W3C 官方标准,用于表示...

    java中四种操作(dom、sax、jdom、dom4j)xml方式详解与比较.txt )

    java中四种操作(dom、sax、jdom、dom4j)xml方式详解与

    用4中方式(dom4j、jdom、dom、sax)解析xml

    用用4中方式(dom4j、jdom、dom、sax)解析xml

    dom jdom sax dom4j 原理性能比

    本篇文章将探讨四种处理XML的Java库:DOM、JDOM、SAX和DOM4J,分析它们的原理、性能特点以及适用场景。 首先,我们来了解DOM(Document Object Model)。DOM是W3C组织定义的一种API,它将XML文档解析为一个树形结构...

    DOM、SAX、JDOM、DOM4J读写xml文档

    在Java中,有几种不同的API可以用来处理XML文档,包括DOM、SAX、JDOM和DOM4J。下面将详细介绍这四种方式。 **DOM(Document Object Model)** DOM是一种树形结构的API,它将整个XML文档加载到内存中,形成一个可...

    XML操作(dom,sax,jdom,dom4j)

    在处理XML时,有多种解析器可供选择,包括DOM(Document Object Model)、SAX(Simple API for XML)、JDOM以及DOM4J。下面将详细解释这些解析方式及其特点。 1. DOM解析器 DOM解析器将整个XML文档加载到内存中,...

    Java解析XML汇总DOM_SAX_JDOM_DOM4j_XPath

    ### Java解析XML技术详解:DOM、SAX、JDOM、DOM4j与XPath #### 一、基础知识概览 在Java开发中,处理XML文件是一项常见的任务。XML(Extensible Markup Language,可扩展标记语言)是一种用于存储和传输数据的标准...

    用DOM SAX JDom dom4j 对xml文档解析实例

    本文将深入探讨DOM、SAX、JDom和dom4j四种流行的Java XML解析器,以及它们在处理XML文档时的特点和用法。 1. DOM(Document Object Model) DOM是W3C推荐的一种解析XML的标准方法。它将XML文档表示为一个树形结构,...

    java处理xml的四种方式jdom/dom4j/dom/sax

    在Java编程语言中,处理XML(可扩展标记语言)数据有四种主要方法:JDOM、DOM4J、DOM和SAX。这些API提供了不同的方法来解析、创建和修改XML文档,各有其优缺点,适用于不同的场景。下面我们将详细介绍这四种方式。 ...

    jdom+dom4j

    为了处理XML文件,Java开发者经常使用库如JDOM和DOM4J,这两个都是Java XML API的实现。本文将深入探讨JDOM和DOM4J,以及它们在解析XML时的应用。 **JDOM** JDOM,全称Java Document Object Model,是一个专为Java...

    java 操作xml(dom,sax,jdom,dom4j)需要的包

    在Java中,有多种方式来解析和操作XML文档,包括DOM(Document Object Model)、SAX(Simple API for XML)、JDOM和DOM4J。每种方法都有其特点和适用场景,相应的,它们也需要引入特定的库文件。以下是对这些方法...

    XML四种解析方式------DOM SAX JDOM DOM4J

    在处理XML文档时,有多种解析方式,包括DOM、SAX、JDOM和DOM4J。每种解析方式都有其特性和适用场景,下面将详细探讨这四种解析方法。 1. DOM(Document Object Model) DOM解析器将整个XML文档加载到内存中,形成一...

    XML解析的四种方法源码(DOM, JDOM ,DOM4J , SAX)

    在Java中,解析XML文件是常见的任务,通常有四种主要的方法:DOM (Document Object Model),JDOM,DOM4J以及SAX (Simple API for XML)。以下是对这四种XML解析方式的详细介绍: 1. DOM解析: DOM是一种树形结构的...

    解析XML的四种JAR包jdom.jar、SAX.jar、dom4j.jar、dom.jar

    在Java编程中,解析XML文档是常见的需求,为此,有多种库可供选择,其中包括jdom.jar、SAX.jar、dom4j.jar和dom.jar。这些JAR包提供了不同的API和解析策略,各有优缺点。接下来,我们将深入探讨这四种XML解析器。 1...

    sax,dom,jdom,dom4j之xml解析大荟萃

    在Java中,有多种XML解析器供开发者选择,包括SAX(Simple API for XML)、DOM(Document Object Model)、JDOM和DOM4J。这四种解析方式各有特点,适用于不同的场景。下面我们将详细探讨它们的原理、优缺点以及应用...

    jdom.jar,dom4j.jar,dom.jar,sax.jar,jaxen.jar解析xmljar包

    为了处理XML文档,Java提供了多种API,其中包括JDOM、DOM4J、DOM、SAX和JAXEN。这些库分别代表了不同的解析策略,各有优缺点,适用于不同场景。下面将详细介绍这些库及其在解析XML时的角色。 首先,`jdom.jar` 是...

    jdom,jaxb,dom4j,dom,sax,satx解析XML

    在Java中,有多种库和技术用于解析XML文档,包括JDOM、JAXB、DOM4J、DOM、SAX和StaX。接下来我们将详细探讨这些解析方式。 1. JDOM JDOM是Java Document Object Model的简称,它为Java提供了本地化的XML API。JDOM...

    dom,jdom,dom4j的区别

    在选择DOM、SAX、JDOM或DOM4J时,主要考虑以下几个因素:1) 对性能的需求,大型文档可能更适合SAX或DOM4J的流处理模式;2) 对编程简便性的要求,DOM和JDOM通常更容易上手,而SAX需要编写更多的事件处理代码;3) 是否...

    操作xml的方式: SAX, DOM, JDOM , DOM4J的比较

    处理XML文档有多种方式,其中最常见的是SAX(Simple API for XML)、DOM(Document Object Model)、JDOM和DOM4J。下面我们将详细探讨这四种方法。 1. DOM(Document Object Model) DOM是W3C制定的一个标准,它...

Global site tag (gtag.js) - Google Analytics