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); } } |
编辑推荐:
相关推荐
要读取XML文件,Java提供了多种方法。以下是四种常用的方法,每种都有其适用场景和特点: 1. **DOM解析器(Document Object Model)** DOM解析器将整个XML文件加载到内存中,创建一个树形结构,允许我们通过节点...
当处理XML文件时,有时我们需要将其内容转换为Java对象,如List,以便于操作和处理。本篇文章将深入探讨如何将XML转换为指定类型的List数组,并涉及多层数据结构的处理。 1. **Java XML解析库** 在Java中,有多种...
这篇名为“Jdom解析嵌套XML<一>”的文章可能涉及了如何使用JDOM处理包含复杂嵌套结构的XML文件。 首先,我们来了解一下JDOM的基本概念。JDOM的主要目标是为Java开发者提供一个高性能、内存中且基于树的API,以便...
Java 读取 XML 文件的四种方法 在 Java 中读取 XML 文件有多种方法,本文将介绍四种常见的方法,分别使用 DOM、DOM4J、JDOM 和 SAX 解析器。 第一种方法:使用 DOM DOM(Document Object Model)是一种树形结构,...
使用 Java 读取 XML 配置文件 Java 语言和 XML 技术可以说是黄金组合,网上已经有很多文章介绍 XML 在电子商务中的数据交换的作用。但是在平时系统开发中,我们不一定都用到数据交换,是否无法使用 XML?当然不是...
本教程将深入探讨如何使用XStream进行Java类与XML文件之间的互转解析。 首先,我们需要引入XStream库。在Maven项目中,可以在pom.xml文件中添加以下依赖: ```xml <dependency> <groupId>...
如果你有XML文件,可以使用`java.io.File`或`java.nio.file.Path`来读取;如果XML数据是字符串,可以直接存储在`String`变量中。 3. 使用Jackson库进行转换: Jackson提供了`XmlMapper`类来进行XML与JSON之间的...
在Java中,读取XML文件有多种方法,本文将介绍四种常见的方法:DOM、DOM4J、JDOM和SAX。 DOM(Document Object Model) DOM是W3C组织制定的XML文档对象模型,它提供了对XML文档的树形结构表示。使用DOM方法读取XML...
用WC3的DOM实现对XML文件的读取。 方法摘要: //通过文件路径及文件名读取xml public XMLReader(String path, String filename); //初始化读取包下的的XML文件 public XMLReader(Package package1, String fileName)...
java读取xml文件的四种方法: 第一种 DOM 实现方法 第二种 DOM4J实现方法 第三种 JDOM实现方法 第四种SAX实现方法
本篇将详细讲解如何使用Java实现CSV到XML的转换,以及三种不同的方法。 首先,我们需要理解CSV和XML的基本结构。CSV文件以行和列的形式存储数据,每一行代表一个记录,每列之间用逗号分隔。例如: ``` Name,Age,...
#### 三、Java读取XML文件 对于XML文件的读取,我们可以采用Java标准库中的`BufferedReader`配合`InputStreamReader`的方式来进行处理。这样可以在读取文件的同时指定正确的字符编码,从而避免乱码问题。 ```java ...
<br>数据库连接的各种方式<br>JSP的2种结构-Model1和Model2<br>ASP+和JSP之间的抉择<br>JSP中的虚拟路径<br>读取Text文件<br>new:ASPer看过来<br>困扰JSP的一些问题:jsp和宏之间的争议<br>jsp的5个不足之处<br>JSP不...
Java 读取 XML 文件的四种方法 在 Java 中读取 XML 文件有多种方法,本文将介绍四种常用的方法:DOM 实现方法、DOM4J 实现方法、JDOM 实现方法和SAX 实现方法。 DOM 实现方法 DOM(Document Object Model)是 W3C...
### Java读写XML文件知识点详解 #### 一、概述 在Java编程中,对XML文件进行读取与写入是一项非常常见的任务。XML(可扩展标记语言)是一种用于标记数据的语言,非常适合用来存储和传输数据。Java提供了多种API来...
JDOM,全称为Java Document Object Model,是一种专为Java设计的XML处理API,它提供了对XML文档结构的完整映射,使得我们可以方便地创建、读取和修改XML文件。下面将详细介绍如何使用JDOM来读取XML文件。 首先,...
在Java编程中,读取XML文件并从中获取Oracle数据库连接是一项常见的...以上就是关于"Java读取xml文件中oracle数据库连接"的相关知识,希望对您有所帮助。在实际项目中,可能还需要考虑异常处理、连接池管理等高级话题。
此外,还可以使用JavaScript或者服务器端编程语言(如PHP、Python、Java)来动态地读取XML文件并应用XSLT转换,这在处理大量数据或实时更新时非常有用。 总结起来,XML提供了一种有效的方式,将数据与网页的呈现...
包括StAX的工厂方法(factory)、文档生成和XMLPull<br>*使用JAXB进行数据绑定,使用新的JAXB 2.0 annotation<br>*使用RSS进行网络同步和podcasting<br>*表示层的XML应用,主要针对Ajax和Flash应用程序<br>无论您...