java读取 xml文件
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 实现方法:
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_r("VALUE");
20 for (int i = 0; i < nl.getLength(); i++) {
21 System.out.print("车牌号码:"+ doc.getElementsByTagName_r("NO").item(i).getFirstChild().getNodeValue());
22 System.out.println("车主地址:"+ doc.getElementsByTagName_r("ADDR").item(i).getFirstChild().getNodeValue());
23 }
24 } catch (Exception e) {
25 e.printStackTrace();
26 }
27 }
28 }
第二种,DOM4J实现方法
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实现方法:
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实现方法:
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文件的更多相关文章
- java 读取XML文件作为配置文件
首先,贴上自己的实例: XML文件:NewFile.xml(该文件与src目录同级) <?xml version="1.0" encoding="UTF-8&quo ...
- java读取xml文件报“org.xml.sax.SAXParseException: Premature end of file” .
背景:java读取xml文件,xml文件内容只有“<?xml version="1.0" encoding="UTF-8"?>”一行 java读取该 ...
- java读取XML文件的四种方式
java读取XML文件的四种方式 Xml代码 <?xml version="1.0" encoding="GB2312"?> <RESULT& ...
- JAVA读取XML文件并解析获取元素、属性值、子元素信息
JAVA读取XML文件并解析获取元素.属性值.子元素信息 关键字 XML读取 InputStream DocumentBuilderFactory Element Node 前言 最 ...
- JAVA读取XML文件数据
XML文档内容如下: <?xml version="1.0" encoding="UTF-8"?> <root> <field t ...
- java读取XML文件,及封装XML字符串
package com.yyl.text; import java.io.FileInputStream; import java.util.ArrayList; import org.junit.T ...
- 通过Java读取xml文件内容
读取XML中的内容就需要对XML进行解析,目前对XML进行解析的方法分为四种: 下面解析的方法是DOM4J,需要下载jar包dom4j:https://dom4j.github.io/ package ...
- java读取xml文件并转换成对象,并进行修改
1.首先要写工具类,处理读取和写入xml文件使用的工具.XMLUtil.javaimport java.io.FileInputStream; import java.io.FileWriter; i ...
- 精----Java读取xml文件的四种方法
xml文件: Xml代码 <?xml version="1.0" encoding="GB2312"?> <RESULT> <VA ...
随机推荐
- Git初始化配置以及配置github
1,配置用户名和邮箱(这里是我github中配置的用户名和邮箱),执行下面命令后,在C:\Users\yaosq盘下会出现一个全局文件.gitconfig. git config --global u ...
- .net操作数据库
1. 自动生化曾的一些查询 可以自定义查询语句 2.自定义查询过程调用 USE [mydb] GO /****** Object: StoredProcedure [dbo].[procLogin] ...
- Java:关于子类继承父类接口时,由于权限没有设定的更广,出错的一个小tip
今天在写笔记的时候,写的地方出现了小叉叉错号. 发现问题: 这里出错了!原因是因为在子类覆写父类的方法的时候,权限不能开的比父类更低! 加了public后,纠错成功. 由于接口类型下的方法默认都是pu ...
- 尝试 javascript 一对多 双向绑定器
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...
- Windows编程 Windows程序的生与死(下)
再谈程序之“死” 记得在第二回中我对程序的“死”只是一句话带过,因为我还没有铺垫好,好了现在我们可以详细的分析一下这个过程了. 这还要从while消息循环说起,还记得GetMessage函数吗?它是一 ...
- javascript字符串机油
1.创建字符串和数组的方法 1.1创建字符串的方法 a.直接数量:var str=“: b.字符串对象创建:新字符串(“): 1.2创建阵列的方法 a.var.arr=要素…. b.var arr=n ...
- 安卓开发之利用XmlPullParser解析XML文件
package com.lidaochen.phonecall; import android.support.v7.app.AppCompatActivity; import android.os. ...
- 8.JSP与JavaBean
1.<jsp:useBean> <html> <head> <title>jsp:useBean 标签的使用</title> </he ...
- 【2】Git仓库
一.获取 Git 仓库 初始化仓库 ##基于当前目录初始化仓库 $ git init ##指定demo目录初始化仓库 $ git init demo 克隆现有仓库 ##克隆现有的仓库,默认目录名:li ...
- 【异常】azkaban.executor.ExecutorManagerException: No active executors found
1 azkaban启动异常 没有找到活动的executors,需在MySQL数据库里设置端口为12321的executors表的active为1 update azkaban.executors ...