Java读取xml的四种方式

在平时工作中,难免会遇到把 XML 作为数据存储格式。面对目前种类繁多的解决方案,哪个最适合我们呢?在这篇文章中,我对这四种主流方案做一个不完全评测,仅仅针对遍历 XML 这块来测试,因为遍历 XML 是工作中使用最多的(至少我认为)。

预 备

测试环境:

AMD 毒龙1.4G OC 1.5G、256M DDR333、Windows2000 Server SP4、Sun JDK 1.4.1+Eclipse 2.1+Resin 2.1.8,在 Debug 模式下测试。

XML 文件格式如下:

<?xml version="1.0" encoding="GB2312"?>

<RESULT>

<VALUE>

<NO>A1234</NO>

<ADDR>四川省XX县XX镇XX路X段XX号</ADDR>

</VALUE>

<VALUE>

<NO>B1234</NO>

<ADDR>四川省XX市XX乡XX村XX组</ADDR>

</VALUE>

</RESULT>

测试方法:

采用 JSP

端调用Bean(至于为什么采用JSP来调用,请参考:http:

//blog.csdn.net/rosen/archive/2004/10/15/138324.aspx),让每一种方案分别解析10K、

100K、1000K、10000K的 XML 文件,计算其消耗时间(单位:毫秒)。

JSP 文件:

<%@ page contentType="text/html; charset=gb2312" %>

<%@ page import="com.test.*"%>

<html>

<body>

<%

String args[]={""};

MyXMLReader.main(args);

%>

</body>

</html>

测 试

首先出场的是 DOM(JAXP Crimson 解析器)

DOM 是用与平台和语言无关的方式表示 XML 文档的官方 W3C 标准。DOM

是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何

工作。由于它是基于信息层次的,因而 DOM 被认为是基于树或基于对象的。DOM

以及广义的基于树的处理具有几个优点。首先,由于树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改。它还可以在任何时候在树中上下

导航,而不是像 SAX 那样是一次性的处理。DOM 使用起来也要简单得多。

另一方面,对于特别大的文档,解析和加载整个文档可能很慢且很耗资源,因此使用其他手段来处理这样的数据会更好。这些基于事件的模型,比如 SAX。

Bean文件:

package com.test;

import ja

相关文档:

最近遇到一个需求要在linux下用java 调用mysql客户端远程登陆mysql服务器,从客户端机器导入mysql脚本,从mysql服务器端导出表中的数据。以下是用到的主要方法:

Java 代码

/**

* 导入数据

* @param  脚本的地址和名称

* @return 是否� ......

目录

1. 简介

2. 安装

3. log4j基本概念

3.1. Logger

3.2. Appender

3.2.1. 使用ConsoleAppender

3.2.2. 使用FileAppender

3.2.3. 使用WriterAppender

3.3. Layout

3.4. 基本示例

3.4.1. SimpleLayout和FileAppender

3.4.2. HTMLLayout和WriterAppender

3.4.3. PatternLayout和ConsoleAppender

4. 使用外部 ......

1.计算某一月份的最大天数

Calendar time=Calendar.getInstance();

time.clear();

time.set(Calendar.YEAR,year);

time.set(Calendar.MONTH,i-1);//注意,Calendar对象默认一月为0

int day=time.getActualMaximum(Calendar.DAY_OF_MONTH);//本月份的天数 ......

转帖处:http://dong-java.javaeye.com/blog/375150

1。推荐使用Oralce比较新的10.2.0.3 JDBC Drivers。这个版本对比9.2的最大的好处是DriverManager.setLoginTimeout函数是起作用的。设置了这个参数,在恶劣的网络环境中就不会有连接数据库的函数长时间不返回的情况。

2。JDBC Developer!ˉs Guide and Refer ......

package org.bupt.test;

import java.util.ArrayList;

class MyResource {

ArrayList arrList= new ArrayList();

public MyResource(ArrayList arrList) {

this.arrList = arrList;

&nbs ......

java xml 方法_Java读取xml的四种方式相关推荐

  1. java json 解析_Java解析JSON的四种方式

    一.什么是JSON JSON是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据.简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言. 易于阅读和编写,同时也易于解析和 ...

  2. java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明)...

    转载地址:http://www.devba.com/index.php/archives/4581.html java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明); ...

  3. mysql java 日期格式化_(转)java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明)...

    java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明);部分资料参考网络资源 1. java向MySQL插入当前时间的四种方式 第一种:将java.util.Date ...

  4. Java 并发 多线程:创建线程的四种方式

    Java 并发 多线程: 创建线程的四种方式 继承 Thread 类并重写 run 方法 实现 Runnable 接口 实现 Callable 接口 使用线程池的方式创建 1. 通过继承 Thread ...

  5. C++ 读取文件的四种方式

    本文介绍C++ 读取文件的四种方式. 第一种方式: #include<iostream> #include<fstream> using namespace std;int m ...

  6. java map 迭代遍历_java 遍历Map的四种方式

    java 遍历Map的四种方式 CreationTime--2018年7月16日16点15分 Author:Marydon 一.迭代key&value 第一种方式:迭代entrySet 1.方 ...

  7. java实现线程的方式_java多线程实现的四种方式

    java多线程实现的四种方式1.继承Thread类,重写run方法(其实Thread类本身也实现了Runnable接口) 2.实现Runnable接口,重写run方法 3.实现Callable接口,重 ...

  8. java如何遍历树_java 遍历树的四种方式

    java 遍历树的四种方式 最近做一个玫瑰图报表,数据源为TreeJson(树状json),在网上搜集下资料,和大家分享.: 先序遍历 中序遍历 后序遍历 层次遍历 public class Tree ...

  9. java解析与生成json数据的四种方式,比如将json字符串转为json对象或json对象转为json字符串

    文章目录 1. 详说json 1.1 何为json 1.2 json语法 2. Java解析与生成JSON的四种方式 2.1 传统方式 2.2 利用Jackson方式 2.3 利用Gson方式 2.4 ...

最新文章

  1. 为pony程序添加IACA标记(二)
  2. 帕金森患者的新曙光!AI无线智能探测系统诞生
  3. 如何利用python爬虫获取网易云音乐某个歌手简介_Python 爬虫获取网易云音乐歌手信息...
  4. Linux TCPIP内核参数优化
  5. 保存光谱曲线出现问题_直读光谱仪计量周期-这家好【博越仪器】
  6. Word Embedding News|词嵌入新鲜事:六月刊:GPT-3来了
  7. 20135223何伟钦—信息安全系统设计基础第七周学习总结
  8. 钉钉机器人自动回复消息_用Python自动发送钉钉数据消息
  9. php yield mysql_PHP 5.5 新特性关键字 yield
  10. java and dsl_Groovy语法糖以及DSL
  11. 11月16日云栖精选夜读:阿里云 oss JavaScript客户端签名文件上传 vue2.0
  12. CSS3动画框架 Animate.css
  13. PHP面向对象学习(一)
  14. VBA函数:int()函数
  15. 网易推理拼图验证码识别
  16. matlab 正交导频序列,导频序列和训练序列的区别
  17. 怎样允许计算机远程桌面连接,win10允许远程桌面连接如何设置_win10怎样设置允许远程桌面连接...
  18. 学单片机有前途还是嵌入式系统有前途?
  19. 【基于python+Django的物品协同过滤音乐推荐系统-哔哩哔哩】 https://b23.tv/V2zN54R
  20. 小程序如何跳转到第三方H5页面

热门文章

  1. G001-181-08
  2. AARRR(海盗模型)|原理+Python可视化实现
  3. fastjson之@JSONField注解的几个的使用详细示范
  4. 记事本改字体的代码java_求java记事本代码(带字体设置功能)?
  5. 证监会叫停VR等行业跨界定增,福兮祸兮?
  6. linux配置mysql全局环境变量,Linux 配置 jdk mysql 环境变量
  7. 2020年中国维生素行业发展现状及竞争格局分析,市场空间广阔「图」
  8. python新年快乐代码_Python第二天 祝大家新年快乐
  9. win7记事本如何转换html,win7记事本程序在哪里 64位win7记事本程序怎么安装
  10. 【人月神话】第二章:人月神话