Java基础知识(三) XML

原创 2007年09月20日 10:58:00
<?xml version="1.0" encoding="GB2312"?> 
<RESULT> 
<VALUE> 
   <NO>1608</NO> 
   <ADDR>西湖国际</ADDR> 
</VALUE> 
<VALUE> 
   <NO>A328</NO> 
   <ADDR>西湖家居</ADDR> 
</VALUE> 
</RESULT> 
 
1)DOM 

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.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(); 
}
 

2)SAX 

import org.xml.sax.*
import org.xml.sax.helpers.*
import javax.xml.parsers.*

public class MyXMLReader extends DefaultHandler ...

 java.util.Stack tags 
= new java.util.Stack(); 
 
public MyXMLReader() ...
  
super(); 
}
 

 
public static void main(String args[]) ...
  
long lasting = System.currentTimeMillis(); 
  
try ...
   SAXParserFactory sf 
= SAXParserFactory.newInstance(); 
   SAXParser sp 
= sf.newSAXParser(); 
   MyXMLReader reader 
= new MyXMLReader(); 
   sp.parse(
new InputSource("data.xml"), reader); 
  }
 catch (Exception e) ...
   e.printStackTrace(); 
  }
 

  System.out.println(
"时间:" + (System.currentTimeMillis() - lasting) + "毫秒");}
 
  
public void characters(char ch[], int start, int length) throws SAXException ...
    String tag 
= (String) tags.peek(); 
    
if (tag.equals("NO")) ...
     System.out.print(
"号码:" + new String(ch, start, length)); 
      }
 
      
if (tag.equals("ADDR")) ...
      System.out.println(
"地址:" + new String(ch, start, length)); 
    }
 
}
 

  
public void startElement(String uri,String localName,String qName,Attributes attrs) ...
  tags.push(qName);}
 
}
 

3) JDOM 

import java.io.*
import java.util.*
import org.jdom.*
import org.jdom.input.*

public class MyXMLReader ...

 
public static void main(String arge[]) ...
  
long lasting = System.currentTimeMillis(); 
  
try ...
   SAXBuilder builder 
= new SAXBuilder(); 
   Document doc 
= builder.build(new File("data.xml")); 
   Element foo 
= doc.getRootElement(); 
   List allChildren 
= foo.getChildren(); 
   
for(int i=0;i<allChildren.size();i++...
    System.out.print(
"号码:" + ((Element)allChildren.get(i)).getChild("NO").getText()); 
    System.out.println(
"地址:" + ((Element)allChildren.get(i)).getChild("ADDR").getText()); 
   }
 
  }
 catch (Exception e) ...
   e.printStackTrace(); 
}
 

}
 

4)DOM4J 

import java.io.*
import java.util.*
import org.dom4j.*
import org.dom4j.io.*

public class MyXMLReader ...

 
public static void main(String arge[]) ...
  
long lasting = System.currentTimeMillis(); 
  
try ...
   File f 
= new File("data.xml"); 
   SAXReader reader 
= new SAXReader(); 
   Document doc 
= reader.read(f); 
   Element root 
= doc.getRootElement(); 
   Element foo; 
   
for (Iterator i = root.elementIterator("VALUE"); i.hasNext() ...
    foo 
= (Element) i.next(); 
    System.out.print(
"号码:" + foo.elementText("NO")); 
    System.out.println(
"地址:" + foo.elementText("ADDR")); 
   }
 
  }
 catch (Exception e) ...
   e.printStackTrace(); 
}
 


RichEdit控件基础知识之四 分析:

windows sdk编程系列文章 ---- RichEdit控件基础知识之四 分析: 例子程序首先载入RichEdit DLL, 在这里是 riched20.dll. 如果DLL载入...
  • aasmfox
  • aasmfox
  • 2014年05月25日 15:08
  • 1650

跟我学汇编(一)基础知识

零、前言身为程序员,序号一定从零开始数,哈哈。这篇文章是在学习汇编语言是所做的笔记,其中的内容必定会受到书中内容的影响,我所看的课本是王爽所著的《汇编语言》(第三版),写博客的目的是为了巩固自己所学的...
  • xingjiarong
  • xingjiarong
  • 2016年02月05日 15:20
  • 3019

Android中三种主要的XML解析方法

一、Android开发中三种主要的XML解析方法 在平时的工作和学习中,我们经常需要在android项目中解析XML文件,android为我们提供了三种解析XML的方法,分别是Sax解析、Pull解析...
  • yubo_725
  • yubo_725
  • 2014年12月02日 10:24
  • 901

JAVA入门基础知识小结

从C++到Java入门基础知识小结...
  • CSDN_SXL
  • CSDN_SXL
  • 2016年01月26日 15:02
  • 7527

Java基础之基础知识测试

单选题:(每道题目2分) 1. 下列哪个声明是错误的?(B)  A.  int i=10; B.  float f=1.1;     //float f=1.1f C.  double d=...
  • zhangwen809877665
  • zhangwen809877665
  • 2017年03月01日 17:15
  • 1213

Web前端之基础知识

学习web前端开发基础技术需要掌握:HTML、CSS、Javascript 1.HTML是网页内容的载体 内容就是网页制作者放在页面上想要让用户浏览的信息,可以包含文字、图片、视频等。 2.C...
  • bear_huangzhen
  • bear_huangzhen
  • 2015年06月06日 23:00
  • 3726

JAVA语言基础知识(一)

JAVA基础名词 JDK软件安装 JDK软件下的目录简介 JAVA关键字和保留字 二进制、八进制、十进制和十六进制 JAVA原码、反码、补码 JAVA三大注释...
  • dlmacr
  • dlmacr
  • 2017年03月28日 13:00
  • 1225

Java基础知识学习笔记总结

Java学习笔记总结 java基础复习 1、 抽象类可以有构造器,可以有一个非抽象的父类 2、 垃圾回收机制回收的是堆里面的内存,栈里面的数据自动入栈自动出栈 3、 引用类型的数据在堆当中,内存中操作...
  • shine_a
  • shine_a
  • 2017年04月21日 15:26
  • 1756

java基础知识(常用的简单面试题)

本文为笔者学习过程中根据老师指导自行整理! 1、JDK、JRE、JVM ①  JDK: Java Development kit   Java 开发工具包 ②  JRE: Java Runt...
  • Sunsymbol
  • Sunsymbol
  • 2017年08月22日 19:31
  • 409

超详细的Java面试题总结(一)之Java基础知识

最近在备战面试的过程中,整理一下面试题。大多数题目都是自己手敲的,网上也有很多这样的总结。自己感觉总是很乱,所以花了很久把自己觉得重要的东西总结了一下。面向对象和面向过程的区别面向过程:   优点:...
  • qq_34337272
  • qq_34337272
  • 2017年12月15日 20:11
  • 261
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java基础知识(三) XML
举报原因:
原因补充:

(最多只允许输入30个字)