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. [转]详解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. android的PackageManagerService详解

    PackageManagerService主要是一个包的管理服务,在开机的时候会解析以前保存的一些安装包的相关数据,android运行过程中新安装的apk也会保存到PackageManagerServ ...

  2. Linux IPC实践(1) -- 概述

    进程的同步与互斥 进程同步: 多个进程需要相互配合共同完成一项任务. 进程互斥: 由于各进程要求共享资源,而且有些资源需要互斥使用,因此各进程间竞争使用这些资源,进程的这种关系为进程的互斥;系统中某些 ...

  3. OJ题:输入一个多位的数字,求各数位相加。

    题目内容: 输入一个多位的数字,1求各数位相加. 例如输入12345,则计算1+2+3+4+5=15 输入格式: 一个整数 输出格式: 一个整数 输入样例: 1234567890 输出样例: 45 时 ...

  4. Android反编译获取源码-android学习之旅(70)

    上一讲我们介绍了如何获取资源文件,这一节讲解如何获取源码,其实获取源码真的很简单 首先还是要有工具,Dex2jar,这个工具用于将apk解压之后的dex文件转化为jar文件还有jd-gui的这个工具能 ...

  5. 如何让你的web具备权限认证

    大多数Web系统都有权限需求,前面已经了解了它的整个认证过程的原理,这节将讲述如何在Tomcat中配置web资源的权限.先以Tomcat默认的认证模式Basic和默认的域UserDatabaseRea ...

  6. Leetcode_6_ZigZag Conversion

    本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/41408021 看完这篇文章,你可能会学到到知识如下: (1 ...

  7. Dynamics CRM OData方式进行增删改查时报错的问题

    今天在通过OData终结点update记录的时候报"Error processing request stream. The request should be a valid top-le ...

  8. Gradle 1.12用户指南翻译——第三十章. CodeNarc 插件

    其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://g ...

  9. Linux常用命令(第二版) --系统开关机命令

    系统开关机命令 说明-服务器不会经常的关机,重启,没有故障,服务器不会关机.因此这些命令就显得不是很常用. 1.shutdown /usr/sbin/shutdown e.g. shutdown -h ...

  10. 集群RPC通信

    RPC即远程过程调用,它的提出旨在消除通信细节.屏蔽繁杂且易错的底层网络通信操作,像调用本地服务一般地调用远程服务,让业务开发者更多关注业务开发而不必考虑网络.硬件.系统的异构复杂环境. 先看看集群中 ...