`
ynshun
  • 浏览: 91543 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

java读取xml文件的四种方法【转】

 
阅读更多

Xml代码 复制代码

  1. <?xml version="1.0" encoding="GB2312"?>  
  2. <RESULT>  
  3. <VALUE>     
  4.   <NO>A1234</NO>     
  5.   <ADDR>河南省郑州市</ADDR>  
  6. </VALUE>  
  7. <VALUE>     
  8.   <NO>B1234</NO>     
  9.   <ADDR>河南省郑州市二七区</ADDR>  
  10. </VALUE>  
  11. </RESULT>   

第一种 DOM 实现方法:

Java代码 复制代码
  1. import java.io.File;   
  2.   
  3. import javax.xml.parsers.DocumentBuilder;   
  4. import javax.xml.parsers.DocumentBuilderFactory;   
  5.   
  6. import org.w3c.dom.Document;   
  7. import org.w3c.dom.NodeList;   
  8.   
  9. public class MyXMLReader2DOM {   
  10. public static void main(String arge[]) {   
  11.   
  12.   long lasting = System.currentTimeMillis();   
  13.   
  14.   try {   
  15.     File f = new File("data_10k.xml");   
  16.     DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();   
  17.     DocumentBuilder builder = factory.newDocumentBuilder();   
  18.     Document doc = builder.parse(f);   
  19.     NodeList nl = doc.getElementsByTagName("VALUE");   
  20.    for (int i = 0; i < nl.getLength(); i++) {   
  21.      System.out.print("车牌号码:"+ doc.getElementsByTagName("NO").item(i).getFirstChild().getNodeValue());   
  22.      System.out.println("车主地址:"+ doc.getElementsByTagName("ADDR").item(i).getFirstChild().getNodeValue());   
  23.     }   
  24.    } catch (Exception e) {   
  25.     e.printStackTrace();   
  26.    }   
  27. }   
  28. }  

第二种,DOM4J实现方法:

Java代码 复制代码
  1. import java.io.*;   
  2. import java.util.*;   
  3. import org.dom4j.*;   
  4. import org.dom4j.io.*;   
  5.   
  6. public class MyXMLReader2DOM4J {   
  7. public static void main(String arge[]) {   
  8.   long lasting = System.currentTimeMillis();   
  9.   try {   
  10.     File f = new File("data_10k.xml");   
  11.     SAXReader reader = new SAXReader();   
  12.     Document doc = reader.read(f);   
  13.     Element root = doc.getRootElement();   
  14.     Element foo;   
  15.    for (Iterator i = root.elementIterator("VALUE"); i.hasNext();) {   
  16.      foo = (Element) i.next();   
  17.      System.out.print("车牌号码:" + foo.elementText("NO"));   
  18.      System.out.println("车主地址:" + foo.elementText("ADDR"));   
  19.     }   
  20.    } catch (Exception e) {   
  21.     e.printStackTrace();   
  22.    }   
  23. }   
  24. }  

第三种 JDOM实现方法:

Java代码 复制代码
  1. import java.io.*;   
  2. import java.util.*;   
  3. import org.jdom.*;   
  4. import org.jdom.input.*;   
  5.   
  6. public class MyXMLReader2JDOM {   
  7. public static void main(String arge[]) {   
  8.   long lasting = System.currentTimeMillis();   
  9.   try {   
  10.     SAXBuilder builder = new SAXBuilder();   
  11.     Document doc = builder.build(new File("data_10k.xml"));   
  12.     Element foo = doc.getRootElement();   
  13.     List allChildren = foo.getChildren();   
  14.    for (int i = 0; i < allChildren.size(); i++) {   
  15.      System.out.print("车牌号码:"+ ((Element) allChildren.get(i)).getChild("NO").getText());   
  16.      System.out.println("车主地址:"+ ((Element) allChildren.get(i)).getChild("ADDR").getText());   
  17.     }   
  18.    } catch (Exception e) {   
  19.     e.printStackTrace();   
  20.    }   
  21. }   
  22. }  

 

第四种SAX实现方法:

Java代码 复制代码
  1. import javax.xml.parsers.SAXParser;   
  2. import javax.xml.parsers.SAXParserFactory;   
  3.   
  4. import org.xml.sax.Attributes;   
  5. import org.xml.sax.InputSource;   
  6. import org.xml.sax.SAXException;   
  7. import org.xml.sax.helpers.DefaultHandler;   
  8.   
  9. public class MyXMLReader2SAX extends DefaultHandler {   
  10.   
  11. java.util.Stack tags = new java.util.Stack();   
  12.   
  13. public MyXMLReader2SAX() {   
  14.   super();   
  15. }   
  16.   
  17. public static void main(String args[]) {   
  18.   long lasting = System.currentTimeMillis();   
  19.   try {   
  20.     SAXParserFactory sf = SAXParserFactory.newInstance();   
  21.     SAXParser sp = sf.newSAXParser();   
  22.     MyXMLReader2SAX reader = new MyXMLReader2SAX();   
  23.     sp.parse(new InputSource("data_10k.xml"), reader);   
  24.    } catch (Exception e) {   
  25.     e.printStackTrace();   
  26.    }   
  27.   
  28.    System.out.println("运行时间:" + (System.currentTimeMillis() - lasting)   
  29.      + "毫秒");   
  30. }   
  31.   
  32. public void characters(char ch[], int start, int length)   
  33.    throws SAXException {   
  34.    String tag = (String) tags.peek();   
  35.   if (tag.equals("NO")) {   
  36.     System.out.print("车牌号码:" + new String(ch, start, length));   
  37.    }   
  38.   if (tag.equals("ADDR")) {   
  39.     System.out.println("地址:" + new String(ch, start, length));   
  40.    }   
  41. }   
  42.   
  43. public void startElement(String uri, String localName, String qName,   
  44.     Attributes attrs) {   
  45.    tags.push(qName);   
  46. }   
  47. }  
分享到:
评论

相关推荐

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

    java读取xml文件

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

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

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

    java读写xml文件的方法

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

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

    本文将详细介绍如何使用Java来读取和修改XML文件,主要涉及以下几个核心知识点: 1. **DOM解析器**: Document Object Model(DOM)是一种将XML文档转换为内存中的树形结构的方法,使得可以遍历和修改XML文件。...

    java读取xml文件生成文件

    Java语言在处理XML文件时,提供了丰富的API和库,使得我们可以轻松地读取、解析、修改和生成XML文档。在给定的场景中,我们主要关注如何使用Java来读取XML文件并根据需求生成新的文件。以下是关于这个主题的详细说明...

    java读取xml的四种方法

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

    java中读写XML文件

    在Java编程语言中,XML(eXtensible Markup Language)是一种重要的数据交换格式,用于存储和...在提供的"在java中读写XML文件.ppt"和"源码"中,可能包含了更多详细的步骤和示例代码,可以帮助你进一步理解这个主题。

    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....

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

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

    java写XML文件和读取XML文件

    二、Java读取XML文件 1. 使用DOM解析: 读取XML文件时,首先会将整个XML文档加载到内存中的DOM树,然后通过API遍历和访问各个节点。 示例代码: ```java import javax.xml.parsers.DocumentBuilder; import javax....

    java导入导出xml文件

    本文将深入探讨如何在Java中进行XML文件的导入与导出。 首先,理解XML的基本结构至关重要。XML文件由一系列的元素构成,每个元素都有可能包含子元素或者文本内容。元素通过开始标签 `&lt;tag&gt;` 和结束标签 `&lt;/tag&gt;` ...

Global site tag (gtag.js) - Google Analytics