xml文件:

  Xml代码

  <?xml version="1.0" encoding="GB2312"?>
  <RESULT>
  <VALUE>
  <NO>A1234</NO>
  <ADDR>河南省郑州市</ADDR>
  </VALUE>
  <VALUE>
  <NO>B1234</NO>
  <ADDR>河南省郑州市二七区</ADDR>
  </VALUE>
  </RESULT>

  第一种 DOM 实现方法:

  Java代码

     import java.io.File;
  import javax.xml.parsers.DocumentBuilder;
  import javax.xml.parsers.DocumentBuilderFactory;
  import org.w3c.dom.Document;
  import org.w3c.dom.NodeList;
  public class MyXMLReader2DOM {
  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());
  System.out.println("运行时间:" + (System.currentTimeMillis() - lasting)
  + "毫秒");
  }
  }
  } catch (Exception e) {
  e.printStackTrace();
  }
  }
  }

  第二种,DOM4J实现方法:

  Java代码

 

 import java.io.*;
  import java.util.*;
  import org.dom4j.*;
  import org.dom4j.io.*;
  public class MyXMLReader2DOM4J {
  public static void main(String arge[]) {
  long lasting = System.currentTimeMillis();
  try {
  File f = new File("data_10k.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"));
  }
  System.out.println("运行时间:" + (System.currentTimeMillis() - lasting)
  + "毫秒");
  }
  } catch (Exception e) {
  e.printStackTrace();
  }
  }
  }

  第三种 JDOM实现方法:

  Java代码

     import java.io.*;
  import java.util.*;
  import org.jdom.*;
  import org.jdom.input.*;
  public class MyXMLReader2JDOM {
  public static void main(String arge[]) {
  long lasting = System.currentTimeMillis();
  try {
  SAXBuilder builder = new SAXBuilder();
  Document doc = builder.build(new File("data_10k.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());
  }
  System.out.println("运行时间:" + (System.currentTimeMillis() - lasting)
  + "毫秒");
  }
  } catch (Exception e) {
  e.printStackTrace();
  }
  }
  }

  第四种SAX实现方法:

  Java代码

 

  import javax.xml.parsers.SAXParser;
  import javax.xml.parsers.SAXParserFactory;
  import org.xml.sax.Attributes;
  import org.xml.sax.InputSource;
  import org.xml.sax.SAXException;
  import org.xml.sax.helpers.DefaultHandler;
  public class MyXMLReader2SAX extends DefaultHandler {
  java.util.Stack tags = new java.util.Stack();
  public MyXMLReader2SAX() {
  super();
  }
  public static void main(String args[]) {
  long lasting = System.currentTimeMillis();
  try {
  SAXParserFactory sf = SAXParserFactory.newInstance();
  SAXParser sp = sf.newSAXParser();
  MyXMLReader2SAX reader = new MyXMLReader2SAX();
  sp.parse(new InputSource("data_10k.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);
  }
  }
 
 

精----Java读取xml文件的四种方法的更多相关文章

  1. java读取xml文件的四种方法

    Xml代码 <?xml version="1.0" encoding="GB2312"?> <RESULT> <VALUE> ...

  2. java读取XML文件的四种方式

    java读取XML文件的四种方式 Xml代码 <?xml version="1.0" encoding="GB2312"?> <RESULT& ...

  3. java分享第十六天( java读取properties文件的几种方法&java配置文件持久化:static块的作用)

     java读取properties文件的几种方法一.项目中经常会需要读取配置文件(properties文件),因此读取方法总结如下: 1.通过java.util.Properties读取Propert ...

  4. PHP读写XML文件的四种方法

    PHP对XML文件进行读写操作的方法一共有四种,分别是:字符串方式直接读写.DOMDocument读写. XMLWrite写和XMLReader读.SimpleXML读写,本文将依次对这四种方法进行介 ...

  5. Java读取Excel文件的几种方法

    Java读取 Excel 文件的常用开源免费方法有以下几种: 1. JDBC-ODBC Excel Driver 2. jxl.jar 3. jcom.jar 4. poi.jar 简单介绍: 百度文 ...

  6. java读取properties文件的几种方法

    一.项目中经常会需要读取配置文件(properties文件),因此读取方法总结如下: 1.通过java.util.Properties读取 Properties p=new Properties(); ...

  7. Properties读取资源文件的四种方法

    package com.action; import java.io.InputStream; import java.util.Locale; import java.util.Properties ...

  8. java 读取XML文件作为配置文件

    首先,贴上自己的实例: XML文件:NewFile.xml(该文件与src目录同级) <?xml version="1.0" encoding="UTF-8&quo ...

  9. java读取 xml文件

    java读取xml文件的四种方法  转自https://www.cnblogs.com/lingyao/p/5708929.html Xml代码 1 <?xml version="1. ...

随机推荐

  1. 组合数学 - 波利亚定理 --- poj : 2154 Color

    Color Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 7873   Accepted: 2565 Description ...

  2. 暴力 + 贪心 --- Codeforces 558C : Amr and Chemistry

    C. Amr and Chemistry Problem's Link: http://codeforces.com/problemset/problem/558/C Mean: 给出n个数,让你通过 ...

  3. 给文本框添加模糊搜索功能(“我记录”MVC框架下实现)

    步骤: 1.在文本框中输入内容时,触发keyup事件: 2.在keyup事件的处理方法中,通过Ajax调用控制器的方法: 3.在控制器方法中,搜索满足条件的数据,这里分页获取数据,且只取第一页的数据, ...

  4. 设计模式--建造者(Builder)模式

    将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示                                                         --<设计模 ...

  5. 批量插入数据 C# SqlBulkCopy使用

    转自:http://blog.csdn.net/wangzh300/article/details/7382506 private static void DataTableToSQLServer( ...

  6. PHP限制HTML内容中图片必须是本站的方法

    本文实例讲述了PHP限制HTML内容中图片必须是本站的方法.分享给大家供大家参考.具体实现方法如下: 1. PHP代码如下: <?php $dom = new DOMDocument; $dom ...

  7. ActiveReports 报表应用教程 (4)---分栏报表

    在 ActiveReports 中可以实现分栏报表布局样式,可以设置横向分栏.纵向分栏,同时进行分栏和分组设置,统计分栏分组的小计.合计等.在商业报表系统中常见的分栏报表有商品标签.员工工卡.条码打印 ...

  8. edittext 监听内容变化

    给EditText追加ChangedListener可以监听EditText内容变化的监听 如图是效果图  类似于过滤的一种实现 1  布局也就是一个EditText,当EditText内容发生变化时 ...

  9. jQuery owlcarousel 旋转木马

    owlcarousel是一款猫头鹰旋转木马插件.OwlCarousel优势兼容所有浏览器支持响应式支持 CSS3 过度支持触摸事件支持 JSON 及自定义 JSON 格式支持进度条支持自定义事件支持延 ...

  10. 一个页面从输入 URL 到页面加载完的过程中都发生了什么事情?

    过程概述 浏览器查找域名对应的 IP 地址: 浏览器根据 IP 地址与服务器建立 socket 连接: 浏览器与服务器通信: 浏览器请求,服务器处理请求: 浏览器与服务器断开连接. 以下为详细解析: ...