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
相关文档:
inkfish翻译,请勿商业性质转载,转载请注明来源(http://blog.csdn.net/inkfish
)。本文是我学习JUEL同时,对原网站进行的简单的翻译,原网站地址:http://juel.sourceforge.net/guide/start.html
。
快速入门
JUEL
发行版包含下面一些jar文件:(来源:http://blog.csdn.net/inkfish)
1.juel-api-2.2 ......
代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。
在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。
代理模式一般涉及到的角色有
抽象角色:声明真实对象和代理对象的公共接口(求局长办事的人)
代理角色:代理对象角色内部含有对真实 ......
分配页面Role_Right.jsp原码:
<%@ page language="java" isELIgnored="false" pageEncoding="GBK" errorPage="/inc/exception.jsp"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head>
<title>角色分配权限</title>
<!--列表--& ......
在J2ME开发中,线程是一个需要非常重视的问题,下面是一段关于线程的文章。我认为对打好线程基本很有帮助。
zz
http://www.j2medev.com/Article/ShowArticle.asp?ArticleID=5478
一、同步问题提出
线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏。
例如:两个线程ThreadA、Threa ......