`
小杨学JAVA
  • 浏览: 900561 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Java读取xml文件的四种方法<转>

 
阅读更多

Java读取xml文件的四种方法

作者:佚名出处:IT专家网2010-04-20 13:00
 

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

 

 

    编辑推荐:

    1. Java script基本语法4个关键提问

    2. Java单例模式:饿汉式和懒汉式的实现

    3. Java自定义线程池相关代码的介绍

分享到:
评论

相关推荐

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

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

    java XML转成LIST可以转成指定的类数组

    当处理XML文件时,有时我们需要将其内容转换为Java对象,如List,以便于操作和处理。本篇文章将深入探讨如何将XML转换为指定类型的List数组,并涉及多层数据结构的处理。 1. **Java XML解析库** 在Java中,有多种...

    Jdom解析嵌套XML<一>

    这篇名为“Jdom解析嵌套XML&lt;一&gt;”的文章可能涉及了如何使用JDOM处理包含复杂嵌套结构的XML文件。 首先,我们来了解一下JDOM的基本概念。JDOM的主要目标是为Java开发者提供一个高性能、内存中且基于树的API,以便...

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

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

    使用Java读取XML配置文件

    使用 Java 读取 XML 配置文件 Java 语言和 XML 技术可以说是黄金组合,网上已经有很多文章介绍 XML 在电子商务中的数据交换的作用。但是在平时系统开发中,我们不一定都用到数据交换,是否无法使用 XML?当然不是...

    使用xstream进行java类与xml文件互转解析--代码

    本教程将深入探讨如何使用XStream进行Java类与XML文件之间的互转解析。 首先,我们需要引入XStream库。在Maven项目中,可以在pom.xml文件中添加以下依赖: ```xml &lt;dependency&gt; &lt;groupId&gt;...

    Java XML转JSON

    如果你有XML文件,可以使用`java.io.File`或`java.nio.file.Path`来读取;如果XML数据是字符串,可以直接存储在`String`变量中。 3. 使用Jackson库进行转换: Jackson提供了`XmlMapper`类来进行XML与JSON之间的...

    读取XML文件的四种方法

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

    Java读取XML文件自制工具类

    用WC3的DOM实现对XML文件的读取。 方法摘要: //通过文件路径及文件名读取xml public XMLReader(String path, String filename); //初始化读取包下的的XML文件 public XMLReader(Package package1, String fileName)...

    java读取xml文件的四种方法

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

    java实现csv 转 xml

    本篇将详细讲解如何使用Java实现CSV到XML的转换,以及三种不同的方法。 首先,我们需要理解CSV和XML的基本结构。CSV文件以行和列的形式存储数据,每一行代表一个记录,每列之间用逗号分隔。例如: ``` Name,Age,...

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

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

    JSP訳文--工具--Java

    &lt;br&gt;数据库连接的各种方式&lt;br&gt;JSP的2种结构-Model1和Model2&lt;br&gt;ASP+和JSP之间的抉择&lt;br&gt;JSP中的虚拟路径&lt;br&gt;读取Text文件&lt;br&gt;new:ASPer看过来&lt;br&gt;困扰JSP的一些问题:jsp和宏之间的争议&lt;br&gt;jsp的5个不足之处&lt;br&gt;JSP不...

    用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利用jdom读取xml文件

    JDOM,全称为Java Document Object Model,是一种专为Java设计的XML处理API,它提供了对XML文档结构的完整映射,使得我们可以方便地创建、读取和修改XML文件。下面将详细介绍如何使用JDOM来读取XML文件。 首先,...

    Java读取xml文件中oracle数据库连接

    在Java编程中,读取XML文件并从中获取Oracle数据库连接是一项常见的...以上就是关于"Java读取xml文件中oracle数据库连接"的相关知识,希望对您有所帮助。在实际项目中,可能还需要考虑异常处理、连接池管理等高级话题。

    讲XML中的数据写入网页实例

    此外,还可以使用JavaScript或者服务器端编程语言(如PHP、Python、Java)来动态地读取XML文件并应用XSLT转换,这在处理大量数据或实时更新时非常有用。 总结起来,XML提供了一种有效的方式,将数据与网页的呈现...

    Java and XML, 3rd Edition

    包括StAX的工厂方法(factory)、文档生成和XMLPull&lt;br&gt;*使用JAXB进行数据绑定,使用新的JAXB 2.0 annotation&lt;br&gt;*使用RSS进行网络同步和podcasting&lt;br&gt;*表示层的XML应用,主要针对Ajax和Flash应用程序&lt;br&gt;无论您...

Global site tag (gtag.js) - Google Analytics