Chinaunix首页 | 论坛 | 博客
  • 博客访问: 164066
  • 博文数量: 27
  • 博客积分: 1472
  • 博客等级: 上尉
  • 技术积分: 275
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-29 12:25
文章分类
文章存档

2010年(2)

2008年(6)

2007年(19)

最近访客

分类: Java

2007-06-12 12:59:20

JAVA解析XML文件的四种方法之一 -> DOM
 
测试环境:
 
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>
 
JAVA  Bean:
 
 package com.test;

import java.io.*;
import java.util.*;
import org.w3c.dom.*;
import javax.xml.parsers.*;

public class MyXMLReader{

 public static void main(String arge[]){
  long lasting =System.currentTimeMillis();
  try{
   File f=new File("data_10k.xml");
   DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
   DocumentBuilder builder=factory.newDocumentBuilder();
   Document doc = builder.parse(f);
   NodeList nl = doc.getElementsByTagName("VALUE");
   for (int i=0;i<nl.getLength();i++){
    System.out.print("车牌号码:" + doc.getElementsByTagName("NO").item(i).getFirstChild().getNodeValue());
    System.out.println(" 车主地址:" + doc.getElementsByTagName("ADDR").item(i).getFirstChild().getNodeValue());
  }
  }catch(Exception e){
   e.printStackTrace();
  }
  System.out.println("运行时间:"+(System.currentTimeMillis() - lasting)+" 毫秒");
 }
}
 
10k消耗时间:265 203 219 172
100k消耗时间:9172 9016 8891 9000
1000k消耗时间:691719 675407 708375 739656
10000k消耗时间:OutOfMemoryError
阅读(1947) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~