`

Java读取xml文件的四种方法

    博客分类:
  • J2SE
xml 
阅读更多
    http://webservices.ctocio.com.cn/java/436/9412936.shtml
    本文介绍Java读取xml文件的四种方法。
  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文件的四种方法

    要读取XML文件,Java提供了多种方法。以下是四种常用的方法,每种都有其适用场景和特点: 1. **DOM解析器(Document Object Model)** DOM解析器将整个XML文件加载到内存中,创建一个树形结构,允许我们通过节点...

    Java读取xml文件的四种方法.doc

    Java 读取 XML 文件的四种方法 在 Java 中读取 XML 文件有多种方法,本文将介绍四种常见的方法,分别使用 DOM、DOM4J、JDOM 和 SAX 解析器。 第一种方法:使用 DOM DOM(Document Object Model)是一种树形结构,...

    读取XML文件的四种方法

    在Java中,读取XML文件有多种方法,本文将介绍四种常见的方法:DOM、DOM4J、JDOM和SAX。 DOM(Document Object Model) DOM是W3C组织制定的XML文档对象模型,它提供了对XML文档的树形结构表示。使用DOM方法读取XML...

    java读取xml文件的四种方法

    java读取xml文件的四种方法: 第一种 DOM 实现方法 第二种 DOM4J实现方法 第三种 JDOM实现方法 第四种SAX实现方法

    Java读写xml,word,xml文件(防乱码)

    #### 三、Java读取XML文件 对于XML文件的读取,我们可以采用Java标准库中的`BufferedReader`配合`InputStreamReader`的方式来进行处理。这样可以在读取文件的同时指定正确的字符编码,从而避免乱码问题。 ```java ...

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

    Java 读取 XML 文件的四种方法 在 Java 中读取 XML 文件有多种方法,本文将介绍四种常用的方法:DOM 实现方法、DOM4J 实现方法、JDOM 实现方法和SAX 实现方法。 DOM 实现方法 DOM(Document Object Model)是 W3C...

    java读取xml的四种方法

    这里我们将详细探讨四种不同的Java方法来解析XML文件,以提取所需信息。 第一种方法是使用DOM(Document Object Model)模型。DOM是一种树型结构,它将整个XML文档加载到内存中,允许开发者通过节点遍历来访问和...

    java读取XML文件内容的四种方法[归类].pdf

    Java 读取 XML 文件内容的四种方法 Java 语言提供了多种方法来读取 XML 文件内容,以下是四种常见的方法: 1. DOM(Document Object Model) DOM 是一种基于树的模型,它将 XML 文档表示为一个层次结构的节点或...

    用java读取修改xml文件的代码实现

    Document Object Model(DOM)是一种将XML文档转换为内存中的树形结构的方法,使得可以遍历和修改XML文件。使用Java的`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom.Document`接口来实现。以下是一个...

    java读写xml文件

    ### Java读写XML文件知识点详解 #### 一、概述 在Java编程中,对XML文件进行读取与写入是一项非常常见的任务。XML(可扩展标记语言)是一种用于标记数据的语言,非常适合用来存储和传输数据。Java提供了多种API来...

    java读取xml文件

    Java 读取 XML 文件是 Java 开发中常见的一项任务,XML(eXtensible Markup Language)作为一种可扩展标记语言,广泛用于数据交换、配置存储等领域。本教程将深入讲解如何在 Java 中处理 XML 文件,同时涉及 XML 的 ...

    java读写xml文件的方法

    ### Java读写XML文件的方法详解 #### 一、概述 在Java编程中,XML(Extensible Markup Language,可扩展标记语言)是一种广泛使用的数据交换格式。由于其良好的跨平台特性和自描述性,使得XML成为了许多应用程序...

    详解Java解析XML的四种方法

    在实际应用中,我们可能会使用DOM、SAX、StAX或JDOM中的任何一种方法,根据XML文件大小和具体需求来读取和处理这些数据。 总结: Java解析XML的方法各有优劣,DOM适合小规模、频繁操作的场景,SAX适用于处理大文件...

    Java解析XML的四种方法比较

    Java解析XML时,主要有四种方法:DOM(Document Object Model)、SAX(Simple API for XML)、StAX(Streaming API for XML)以及JAXB(Java Architecture for XML Binding)。这四种方法各有特点,适用于不同的场景...

    java解析xml的四种经典方法

    Java解析XML的四种经典方法是XML处理中常用的技术,它们分别是DOM、SAX、StAX和JDOM。每种方法都有其独特的特性和适用场景,下面将详细介绍这四种方法。 1. DOM(Document Object Model)解析: DOM是W3C制定的一种...

    java解析XML的四种方式

    ### Java解析XML的四种方式详解 #### 一、DOM(Document Object Model) DOM是一种平台和语言中立的接口,它将XML文档表示为一个树结构,使得程序可以创建、读取、更新或删除树中的元素。DOM实现了W3C的标准,能够...

    Java读写xml java 读写xml文件操作, 简单易懂

    Java提供了多种读写XML文件的方法,包括SAX、DOM、StAX以及JAXB等。本文将基于提供的文件信息,深入探讨如何利用Java进行XML文件的读取与写入,重点介绍DOM(Document Object Model)方式的操作。 #### DOM解析XML...

    Java更新XML的四种常用方法简介

    Java更新XML文档的方法主要包括四种,本文将探讨这些方法并分析其优缺点。首先,我们要了解JAXP(Java API for XML Processing),这是一个用于XML处理的Java编程接口,支持DOM、SAX和XSLT等标准。JAXP的可插拔层...

    java读取和写入xml文件

    在Java中,处理XML文件主要有四种方式:DOM(Document Object Model)、SAX(Simple API for XML)、StAX(Streaming API for XML)以及JAXB(Java Architecture for XML Binding)。下面将详细介绍这四种方法。 1....

Global site tag (gtag.js) - Google Analytics