java操作xml(sax,dom,jdom,dom4j)增删改查
最近在工作中,经常设计报表(ireport+jasperReport)反复和设计模板xml打交道,于是就有了写这篇文章的想法了。java操作xml主要是有四种方式:dom,sax,jdom,dom4j。这四种方式各有优缺点:(以下比较是来自网络)
1:DOM4J性能最好,连Sun的JAXM也在用DOM4J.目前许多开源项目中大量采用DOM4J,例如大名鼎鼎的Hibernate也用DOM4J来读取XML配置文件。如果不考虑可移植性,那就采用DOM4J.
2:JDOM和DOM在性能测试时表现不佳,在测试10M文档时内存溢出。在小文档情况下还值得考虑使用DOM和JDOM.虽然JDOM的开发者已经说明他们期望在正式发行版前专注性能问题,但是从性能观点来看,它确实没有值得推荐之处。另外,DOM仍是一个非常好的选择。DOM实现广泛应用于多种编程语言。它还是许多其它与XML相关的标准的基础,因为它正式获得W3C推荐(与基于非标准的Java模型相对),所以在某些类型的项目中可能也需要它(如在JavaScript中使用DOM)。
3:SAX表现较好,这要依赖于它特定的解析方式-事件驱动。一个SAX检测即将到来的XML流,但并没有载入到内存(当然当XML流被读入时,会有部分文档暂时隐藏在内存中)。
接下来我来展示以下用这四种方式处理xml的一个简单的例子,希望能给大家一些帮助。
1:要操作的xml文件:student.xml
<?xml version="1.0" encoding="UTF-8" ?>
<students>
<student>
<name>TigerLee</name>
<age>26</age>
<sex>男</sex>
<address>北京海淀</address>
</student>
<student>
<name>Snow</name>
<age>24</age>
<sex>女</sex>
<address>山东</address>
</student>
</students>
2:处理xml的java类HandleXML.java
package com.tigerlee.xml;
import java.io.File;
import java.io.FileWriter;
import java.io.Writer;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.Stack;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.Tra
相关文档:
本篇内容承接上篇之后,属JAVA基础知识之数据类型,所以更倾向于JAVA语言本身,适合初学和复习的朋友阅读。
一。数据类型
1.基本数据类型
&nb ......
一、Java异常的基础知识
异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。比如说,你的代码少了一个分号,那么运行出来结果是提示是错误java.lang.Error;如果你用System.out.println(11/0),那么你是因为你用0做了除数,会抛出java.lang.ArithmeticException的异常 ......
代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。
在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。
代理模式一般涉及到的角色有
抽象角色:声明真实对象和代理对象的公共接口(求局长办事的人)
代理角色:代理对象角色内部含有对真实 ......
这两天做完了以前,CRM项目中,设计权限这快的代码,仅供大家学习参考。
本权限管理部分设计三部分:
第一部分 数据库部分
第二部分 权限类
第三部分 分配权限部分
第四部分 页面控制部分
在这里我主要设计后三部分原码:
权限类设计原码:
package com.qizhi.common;
/**
* 全局常量
*
&nbs ......
关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?
答:Java通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口。在Java中,每个异常都是一个对象,它是Throwable类或其它子类的实例。当一个方法出现异常后便抛出一个异常对象,该对象中包含有异常信息,调 ......