`
cpop
  • 浏览: 9211 次
  • 性别: 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)

    4种最主流、最全面、最详细的生成和解析xml的4种方式,包括Dom,Dom4j,Sax,JDom,读懂了绝对好用xml,非常好的入门项目,而且精心排版,逻辑清晰

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

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

    dom4j解析xml文件的压缩包

    dom4j解析xml文件的压缩包,完整版。对jdom进行了封装。包含源码,jar包以及所需的全部内容。

    xml在java环境中生成解析

    这个是jdom dom4j 解析XML 生成XML 的一些示例 里面有我对XML应用的 文档 还有架包

    java的XML四种解析方法汇总

    JAVA xml 的四种解析方式,(1)Dom生成和解析XML文档 (2)SAX生成和解析XML文档(3)DOM4J生成和解析XML文档 (4)JDOM生成和解析XML

    4种解析xml文件 实例

    Java解析XML的四种方法 1. DOM生成和解析XML文档 2. SAX生成和解析XML文档 3. DOM4J生成和解析XML文档 4. JDOM生成和解析XML

    JDOM(java)使用详解及实例

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

    jdom-1.1.3.jar包用于解析XML文件

    使用Jdom.jar包解析XML文件,JDOM是一个开源项目,它基于树型结构,利用纯JAVA的技术对XML文档实现解析、生成、序列化以及多种操作。JDOM直接为JAVA编程服务。它利用更为强有力的JAVA语言的诸多特性(方法重载、集合...

    XML-java.rar_XML SAX_sax_sax xml_sax 解析 xml_xml using dom

    使用java语言对XML文档进行解析的示例,包括DOM,SAX方式,并包括使用jdom和jom4j框架进行XML解析或生成XML文档

    JDOM的jar包 jdom-b7.jar

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

    XML解析教程

    java解析xml四种方式 DOM (Document Object Model, 即文档对象模型) 是 W3C 组织推荐的处理 XML 的标准接口, DOM采用建立树形结构的方式访问XML文档. SAX(Simple API for XML) 不是某个官方标准,但它是 XML 社区事实...

    JDOM 介绍及使用

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

    JDOM 介绍及使用指南

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

    java开发常用jar包

    Hibernate使用dom4j解析XML配置文件和XML映射元文件。必需的。 ehcache-1.2.jar Hibernate可以使用不同cache缓存工具作为二级缓存。EHCache是缺省的cache缓存工具。如果没有其它的可选缓存工具,则为必需的。 ...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    此外,本书的配套光盘还免费提供了价值人民币330元的java教学视频,对java语言进行了全面讲解,帮助一些不会java语言的读者快速地从java基础知识的学习中过渡到java web的学习与开发上. 第1部分 xml篇. 第1章 xml...

    JAVA编程百例+JAVA面试题集十套(经典)

    实例68 使用DOM解析XML 实例69 使用SAX解析XML 实例70 使用JDOM解析XML 实例81 SERVLET读取COOKIE数据 实例86 JSP使用数据连接池 实例99 连接数据库 实例100 上传文件 面试题(很多企业都常常从这些面试题库中选题...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    此外,本书的配套光盘还免费提供了价值人民币330元的java教学视频,对java语言进行了全面讲解,帮助一些不会java语言的读者快速地从java基础知识的学习中过渡到java web的学习与开发上. 第1部分 xml篇. 第1章 xml...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    此外,本书的配套光盘还免费提供了价值人民币330元的java教学视频,对java语言进行了全面讲解,帮助一些不会java语言的读者快速地从java基础知识的学习中过渡到java web的学习与开发上. 第1部分 xml篇. 第1章 xml...

    java中四种生成和解析XML文档的方法详解(介绍+优缺点比较+示例)

    本篇文章主要介绍了四种生成和解析XML文档的方法,即:DOM、SAX、JDOM和DOM4J,具有一定的参考价值,有兴趣的可以了解一下。

Global site tag (gtag.js) - Google Analytics