java解析XML文件四种方法之引入源文件

时间:2022-06-16 09:05:14

1.DOM解析(官方)

try {

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
         DocumentBuilder               db = dbf.newDocumentBuilder();
         Document                document = db.parse("file");
         NodeList                              list = document.getElementsByTagName("ndoe");//常规的DOM操作
   } catch (Exception e) {
         e.printStackTrace();
   }

parse()方法加载XML文件到当前程序。

将XML文件全部加载到内存中,然后逐个解析。

2.SAX解析(官方)

try {

SAXParserFactory factory = SAXParserFactory.newInstance();
         SAXParser               parser = factory.newSAXParser();
         parser.parse("file",handler);
   }catch (Exception e) {
        e.printStackTrace();
   }

参数handler是一个继承了DefaultHandler类的子类的实例化对象。

这个子类中解析文档、元素的方法如下:

--------startDocument()                                      //解析XML文件开始

-----------------------startElement()                       //开始解析某个元素

-----------------------endElement()                        //结束解析该元素(通常将解析获得的信息存到一个对象)

-----------------------startElement()                       //开始解析另一个个元素

-----------------------endElement()                        //结束解析元素

---------endDocument()                                      //解析XML文件结束

SAX解析XML文件的方法是从头到尾一步一步地解析文档的节点元素,是一种事件驱动模式,对内存耗费

较小。

3.JDOM解析(非官方,DOM的拓展)

需要事先导入一个JDOM的jar包到项目。后面导入的类也是JDOM包下的的类

try {

SAXBuilder saxbuilder = new SAXBuilder();
          Document    document = saxbuilder.build("file");
          Element    rootElement = document.getRootElement(); //获得XML文件的根节点
   }catch (Exception e) {
          e.printStackTrace();
   }

获得根节点之后,通过getChildren()方法获得其子节点的List集合。

4.DOM4J解析(非官方,DOM的拓展,现在比较流行的)

同理,由于是非官方的,我们依然需要引入一个DOM4J的jar包

try {

SAXReader    reader = new SAXReader();
         Document document = reader.read("file");
         Element rootElement = document.getRootElement();//获得XML文件的根节点
   }catch (Exception e) {
         e.printStackTrace();
   }

性能优异,灵活性好,功能强大,易使用,所以现在比较流行使用DOM4J解析XML。

注意:以上所有引入文件方法的参数"file",可以是文件路径字符串,可以是一个文件对象,也可以是

           一个文件输入流对象。

java解析XML文件四种方法之引入源文件的更多相关文章

  1. 【Java】详解Java解析XML的四种方法

    XML现在已经成为一种通用的数据交换格式,平台的无关性使得很多场合都需要用到XML.本文将详细介绍用Java解析XML的四种方法. AD: XML现在已经成为一种通用的数据交换格式,它的平台无关性,语 ...

  2. Java解析XML的四种方法详解 - 转载

    XML现在已经成为一种通用的数据交换格式,平台的无关性使得很多场合都需要用到XML.本文将详细介绍用Java解析XML的四种方法 在做一般的XML数据交换过程中,我更乐意传递XML字符串,而不是格式化 ...

  3. java解析xml文件四种方式

    1.介绍 1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准.DOM是以层次结构组织的节点或信息片断的集合.这个层次结构允许开发人员在树中寻找 ...

  4. JAVA解析XML的四种方法

    XML文件:test.xml <?xml version="1.0" encoding="UTF-8"?> <employees> &l ...

  5. 详解Java解析XML的四种方法

    XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便.对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有DOM ...

  6. &lbrack;转&rsqb;详解Java解析XML的四种方法

    XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便.对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有DOM ...

  7. JAVA解析XML的四种方式

    java解析xml文件四种方式 1.介绍 1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准.DOM是以层次结构组织的节点或信息片断的集合.这 ...

  8. java解析xml的三种方法

    java解析XML的三种方法 1.SAX事件解析 package com.wzh.sax; import org.xml.sax.Attributes; import org.xml.sax.SAXE ...

  9. Java中解析XML的四种方法

    XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便.对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有DOM ...

随机推荐

  1. Easticsearch通信方式&lowbar;API

    目录 返回目录:http://www.cnblogs.com/hanyinglong/p/5464604.html 1.Elasticsearch概念 a. Elasticsearch是一个基于Luc ...

  2. 【GoLang】golang 闭包 closure 参数传递的蹊跷!

    结论: 闭包函数可以直接引用外层代码定义的变量, 但是,注意,闭包函数里面引用的是变量的地址, 当goroutine被调度时,改地址的值才会被传递给goroutine 函数. 介绍 go的闭包是一个很 ...

  3. CentOS 7&period;0 部署 Django 到运行起来第一个web service

    最近在学习Python,今天发现Django如此强大的web框架,不得不来试一试. 1. 安装Python,官网建议用Python3:

  4. Android-表格布局 计算器 修改版

    <?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android=&quot ...

  5. 带中文索引的ListView 仿微信联系人列表

    因为各种原因,项目经理和产品经理把我做的东西给否定了,所以决定分享出去. 主要功能: 1 .带中文索引的ListView 2.自己定义顶部搜索视图,能够对返回button,搜索button加入事件监听 ...

  6. oracle中sql语句的优化

    oracle中sql语句的优化 一.执行顺序及优化细则 1.表名顺序优化 (1) 基础表放下面,当两表进行关联时数据量少的表的表名放右边表或视图: Student_info   (30000条数据)D ...

  7. 阿里巴巴 Java 开发规约插件初体验

    阿里巴巴 Java 开发手册 又一次来谈<阿里巴巴 Java 开发手册>,经过这大半年的版本迭代,这本阿里工程师们总结出来避免写出那么多 Bug 的规范,对于 Java 开发者简直就是必备 ...

  8. centos7&period;2 下 部署单节点redis 3&period;2&period;5

    #tar -xvf redis.3.2.5.tar.gz –C /usr/local/ #cd /usr/local/ #mv redis.3.2.5 redis #cd redis #make &a ...

  9. python实现使用词云展示图片

    记录瞬间 首先,要安装一些第三方包 pip install scipyCollecting scipy Downloading https://files.pythonhosted.org/packa ...

  10. phpStudy apache无法启动 apache启动后又停止

    一.是防火墙拦截: 二.是80端口已经被别的程序占用,如IIS,迅雷等: 三.是没有安装VC9运行库,php和apache都是VC9编译: 四.虚拟机配置路径中有中文: 五.在检测端口后强制重启 把配 ...