`
cpop
  • 浏览: 9503 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java解析、生成xml的一些java包jdom、dom4

    博客分类:
  • java
阅读更多
关于java语言中xml的生成与解析日常处理中有4中处理方式,分别是dom,sax,jdom,dom4j.
这里若是不需要考虑他们的今生前世,就直接看下面的使用方法吧。
简单说明下jdom与dom4这两个java包。
jdom: JDOM的目的是成为 Java 特定文档模型,它简化与 XML 的交互并且比使用 DOM 实现更快。由于是第一个 Java 特定模型,JDOM 一直得到大力推广和促进。正在考虑通过“Java 规范请求 JSR-102”将它最终用作“Java 标准扩展”。
dom4:dom4 代表了完全独立的开发结果,但最初,它是 JDOM 的一种智能分支。它合并了许多超出基本 XML 文档表示的功能,包括集成的 XPath 支持、XML Schema 支持以及用于大文档或流化文档的基于事件的处理。
ps:DOM4J 是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件。如今你可以看到越来越多的 Java 软件都在使用 DOM4J 来读写 XML.
建议在日常的开发中选择dom4j包。
下面分别说下dom4j和jdom的使用:以下是一个createxml.java源码。
项目引用:
dom4j-1.6.1.jar包。

package org.cpop.dom4j.demo;

import java.io.FileWriter;
import java.io.IOException;

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;

public class createxml {

	/**
	 * @param args
	 */
	public static void main(String[] args) {

		Document document=createdocument();
		writeDocument(document, "d:\\dom4j.xml");
	}
	
	private static Document createdocument()
	{
		Document document=DocumentHelper.createDocument();
		 //生成一个接点  
        Element root = document.addElement("root");  
        //生成root的一个接点  
        Element category = root.addElement("category"); 
        category.addAttribute("type","1");
        //生产category的一个接点  
        Element id = category.addElement("id");  
        //生成id里面的参数值  
        id.addAttribute("name", "id");  
        //生成id里面的值  
        id.addText("1");  
        return document;  
	}
	 /** 
     * 写入xml文件地址 
     * @param document 所属要写入的内容 
     * @param outFile 文件存放的地址 
     */  
    public static void writeDocument(Document document, String outFile){  
        try{  
            //读取文件  
            FileWriter fileWriter = new FileWriter(outFile);  
            //设置文件编码  
            OutputFormat xmlFormat = new OutputFormat();  
            xmlFormat.setEncoding("utf-8");  
            xmlFormat.setIndentSize(40);
            //创建写文件方法  
            XMLWriter xmlWriter = new XMLWriter(fileWriter,xmlFormat);  
            //写入文件  
            xmlWriter.write(document);  
            //关闭  
            xmlWriter.close();  
        }catch(IOException e){  
            System.out.println("文件没有找到");  
            e.printStackTrace();  
        }  
    } 

}

最后生成的xml文件如下:
<?xml version="1.0" encoding="utf-8"?>
<root>
	<category  type="1">
		<id name="id">1</id>
	</category>
</root>


怎么样dom4j的用法很简单吧!
<完>

下面是使用dom4j来解析xml的方法。
以下是一个resolvexml.java源码。
项目引用:
dom4j-1.6.1.jar包。

package org.cpop.dom4j.demo;

import java.io.BufferedReader;
import java.io.FileReader;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;

public class resolvexml {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		String xml=readxml();
		try {
			resolvexmls(xml);
		} catch (DocumentException e) {
			e.printStackTrace();
		}
	}

	public static void resolvexmls(String xml) throws DocumentException
	{
		Document document=DocumentHelper.parseText(xml);
		Element rootelement=document.getRootElement();
		Element categoryelement=rootelement.element("category");
		System.out.println("category的type属性值:"+categoryelement.attributeValue("type"));
		Element idelement=categoryelement.element("id");
		System.out.println("id的值为:"+idelement.getText());
	}
	//读取文件。
	public static String readxml()
	{
		String path="d:\\dom4j.xml";
		try {
			FileReader fr=new FileReader(path);
			BufferedReader in=new BufferedReader(fr);
			String str=new String();
			StringBuffer sb=new StringBuffer();
			while((str=in.readLine())!=null)
			{
				sb.append(str);
			}
			return sb.toString();
		} catch (Exception e) {
			return "";
		}

	}

}


那么打印出来的结果如下:
引用

category的type属性值:1
id的值为:1


ok,至此dom4j的基本使用差不多完了,更多的复杂生成与解析,看api才是正道。
<完>
分享到:
评论

相关推荐

    JAVA 解析XML生成XML文档实例

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

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

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

    Java DOM 生成XML

    标签"解析XML和生成XML的必备选择"表明,DOM不仅适用于生成XML,也常用于解析XML文档。解析XML时,`DocumentBuilder`会构建一个DOM树,然后可以通过DOM API查询和修改树中的节点。 总结一下,Java DOM提供了一套...

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

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

    java 使用JDOM解析xml文件.docx

    JDOM 是一个开源项目,基于树型结构,利用纯 Java 技术对 XML 文档实现解析、生成、序列化以及多种操作。JDOM 直接为 Java 编程服务,利用 Java 语言的诸多特性(方法重载、集合概念以及映射),把 SAX 和 DOM 的...

    dom4j解析xml文件的压缩包

    10. **JDOM兼容性**:这个压缩包中提到对jdom进行了封装,意味着DOM4J可能提供了一些与JDOM兼容的接口或方法,方便从JDOM迁移到DOM4J的项目。 压缩包中的`dom4j-1.6.1.jar`文件包含了DOM4J库的类和资源,可以直接在...

    DOM、SAX、DOM4J、JDOM、StAX生成XML并返回XML字符串形式

    在IT行业中,XML(eXtensible Markup ...如果需要快速生成XML字符串,DOM4J和JDOM提供了便捷的API;而对于处理大型XML文件,SAX和StAX的低内存消耗特性更具优势。开发者可以根据项目需求选择合适的XML解析技术。

    Java实现XML解析【JDom】

    在这个资源中,我们将探讨如何利用JDom来解析XML文件,并从MySQL数据库获取数据生成XML。 首先,我们需要了解XML的基本结构和语法规则。XML(Extensible Markup Language)是一种用于存储和传输结构化数据的标准,...

    dom4解析xml需要的包

    首先,DOM4J的核心库`dom4j-x.x.x.jar`是解析XML的基础,它提供了DOM、SAX和JDOM等接口的集成,允许开发者根据需求选择最适合的解析方式。DOM4J的主要功能包括: 1. **解析XML**:DOM4J支持使用DOM、SAX或StAX解析...

    dom4J生成xml、解析xml、生成xml文件实例

    DOM4J是一个强大的Java XML API,它不仅提供了DOM、SAX和JDOM等接口的实现,还提供了一种更简单、更灵活的方式来处理XML文档。这篇博客()可能详细介绍了如何使用DOM4J来生成和解析XML文件,这对于处理XML文档的...

    xml(jdom-dom4j).rar_DOM4J_dom4j xml java

    DOM4J是Java中一个非常流行的XML处理库,它提供了灵活且高效的API,使得开发者能够轻松地进行XML的解析、创建、修改等操作。在Java领域,XML常用于数据交换、配置存储以及文档生成等场景,因此理解并掌握DOM4J对于...

    java dom4j解析xml

    Java DOM4J解析XML是一种常见的处理XML文档的技术,它提供了灵活且高效的API,使得开发者能够方便地读取、写入、修改以及操作XML文件。DOM4J是Java中一个非常强大的XML处理库,它结合了DOM、SAX和JDOM的优点,同时也...

    xml在java环境中生成解析

    在Java中,XML的解析和生成是通过特定的库来实现的,比如JDOM和DOM4J。这两个库都是Java中处理XML的流行选择。 **JDOM** JDOM是一个纯Java的XML API,它提供了对XML文档结构的完全访问,并且设计为高性能和内存效率...

    用jdom解析xml

    虽然JDOM提供了易用性,但它的性能可能不如其他XML解析器如DOM4J或StaX。在处理大型XML文件时,应考虑这些替代方案。 **8. 错误处理和异常安全** 在实际应用中,必须处理可能出现的异常,例如文件不存在、解析错误...

    Jdom解析xml案例

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

    Dom4j解析和生成XML文档

    总结,DOM4J是Java开发中处理XML的得力工具,无论是解析还是生成XML文档,都提供了高效且灵活的解决方案。通过深入理解DOM4J的API和使用方法,开发者能够更好地管理和操作XML数据,提高项目的可维护性和灵活性。在...

    android java xml 解析生成jar

    本主题将详细讲解如何在Android环境中利用Java进行XML解析,并生成JDOM库的jar文件。 XML解析在Android中的重要性不言而喻,因为XML常被用来描述应用程序的配置、布局,甚至是网络通信的数据交换格式。Java提供了...

    Jdom解析XML

    通过JDOM,开发者可以使用Java API来处理XML文档,无需了解底层的SAX或DOM解析器的工作原理。 **JDOM的基本元素** - **Document**: XML文档的根节点,代表整个XML文档。 - **Element**: 表示XML文档中的元素,它是...

    DOM、JDOM、DOM4J解析XML实例.pdf

    ### DOM、JDOM、DOM4J解析XML实例详解 #### DOM 方式解析 XML 实例解析 ##### 一、DOM 概述与应用实例 DOM(Document Object Model)是一种树状结构的标准,用于表示 XML 文档的数据结构。它将 XML 文档视为节点...

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

    ### jdom解析XML文件及将字符串解析为XML #### 一、JDOM简介与环境搭建 JDOM(Java Document Object Model)是一种用Java语言编写的轻量级API,用于处理XML文档。它允许开发者轻松地读取、创建、修改XML文档,并将...

Global site tag (gtag.js) - Google Analytics