`

详解Java解析XML的四种方法

xml 
阅读更多

http://developer.51cto.com/art/200903/117512.htm

 

1、DOM,基于XML文档树结构的解析

使用树结构解析,解析前整个文档装入内存,占用内存大,但适合随机访问。

 

2、SAX,基于事件流的解析

事件驱动型,顺序读取,不需一次装入,遇到文件开头及结束、标签开头及结束将触发事件,用户在其回调事件中写入处理代码,但因为无状态,事件过后若没保存数据那么数据就丢了,适合顺序访问。

 

3、DOM4J 

DOM4J 是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件。如今你可以看到越来越多的 Java 软件都在使用 DOM4J 来读写 XML,特别值得一提的是连 Sun 的 JAXM 也在用 DOM4J。

 

4、JDOM 

为减少DOM、SAX的编码量,出现了JDOM;优点:20-80原则,极大减少了代码量。使用场合:要实现的功能简单,如解析、创建等,但在底层,JDOM还是使用SAX(最常用)、DOM、Xanan文档。

 

  /** DOM4J Demo
     * 循环获取map对象
     * @param strNodeName
     * @param objParseElement
     * @return
     */
	public static Map getMapByXML(Element objRoot) {
		Map<String, Object> objWork = new HashMap<String, Object>();
		Iterator<Map> itWork = (Iterator<Map>) objRoot.elementIterator();
		while (itWork.hasNext()) {
			Element elWork = (Element) itWork.next();
			String nodeNameWork = elWork.getQualifiedName();
			if(elWork.isTextOnly()){
				//叶子节点
				objWork.put(nodeNameWork, elWork.getText());
			}else{
				// 子节点
				List lstWork = (List) objWork.get(nodeNameWork);
				if (lstWork == null) {
					lstWork = new ArrayList();
				}
				lstWork.add(getMapByXML(elWork));
				objWork.put(nodeNameWork, lstWork);
			}
		}
		return objWork;
	}

 

 

 

 

 

【】

分享到:
评论

相关推荐

    详解Java解析XML的四种方法+源码

    以上就是Java中解析XML的四种常见方法,每种方法都有其适用场景。根据项目需求和文件大小,可以选择最合适的解析器。在实际开发中,还可以结合使用jar文件,如`comSample`,来包含和调用相关的解析库。理解并掌握...

    详解JAVA解析XML的四种方法

    解析xml的见解,详述操作步骤及解析;XML现在已经成为一种通用的数据交换格式,平台的无关性使得很多场合都需要用到XML。本文将详细介绍用Java解析XML的四种方法。

    详解Java解析XML的四种方法.doc

    Java解析XML的四种方法主要涉及DOM、SAX、StAX以及JAXB,它们各自具有不同的特点和适用场景。本文将详细介绍这四种方法,并以DOM和SAX为例进行演示。 1. DOM (Document Object Model) DOM是一种基于树形结构的XML...

    java解析XML的四种方式

    ### Java解析XML的四种方式详解 #### 一、DOM(Document Object Model) DOM是一种平台和语言中立的接口,它将XML文档表示为一个树结构,使得程序可以创建、读取、更新或删除树中的元素。DOM实现了W3C的标准,能够...

    Java解析XML的四种方法 有代码详解哦

    本篇文章将深入探讨Java解析XML的四种主要方法,并提供相应的代码示例。 1. DOM(Document Object Model)解析 DOM解析器将整个XML文档加载到内存中,形成一个树形结构,即DOM树。这种解析方式允许开发者通过节点...

    java解析XML详解

    本文将深入探讨Java解析XML的各种方法及其应用场景,旨在为读者提供全面而深入的理解。 ### Java解析XML的主要方法 #### 1. DOM(Document Object Model) DOM是一种树形结构的数据模型,用于表示XML文档的结构。...

    Java中四种XML解析技术详解

    本文将深入探讨Java中处理XML的四种主要解析技术:DOM、SAX、StAX以及JAXB。 1. DOM(Document Object Model) DOM是一种树形模型,它将整个XML文档加载到内存中,形成一个节点树。通过DOM,开发者可以轻松地遍历和...

    详解XML各种解析方法

    ### 详解XML各种解析方法 #### 一、引言 自从可扩展标记语言(XML)在大约九年前首次亮相以来,它已经成为了软件开发中不可或缺的一部分。然而,即便是那些拥有丰富经验的开发人员,在面对一些基本问题时也可能...

    java解析xml——dom

    ### Java解析XML——DOM详解 #### 一、DOM解析概念 **Document Object Model (DOM)**是一种平台和语言中立的接口,它允许程序和脚本动态地访问和更新文档的内容、结构和样式。DOM最初是为HTML设计的,但后来也被...

    详 解Java解析XML

    Java 解析 XML 主要涉及两种主流方法:DOM(Document Object Model)和 SAX(Simple API for XML),以及另外两种更现代的技术:StAX(Streaming API for XML)和JAXB(Java Architecture for XML Binding)。...

    JAVA解析XML

    ### JAVA解析XML知识点详解 #### 一、XML与JAVA的关系 **XML (eXtensible Markup Language)** 是一种用于标记电子文件使其具有结构性的标记语言。由于其平台无关性、语言无关性和系统的无关性,XML成为了数据交换...

Global site tag (gtag.js) - Google Analytics