java解析XML文件四种方法之引入源文件
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文件四种方法之引入源文件的更多相关文章
- 【Java】详解Java解析XML的四种方法
XML现在已经成为一种通用的数据交换格式,平台的无关性使得很多场合都需要用到XML.本文将详细介绍用Java解析XML的四种方法. AD: XML现在已经成为一种通用的数据交换格式,它的平台无关性,语 ...
- Java解析XML的四种方法详解 - 转载
XML现在已经成为一种通用的数据交换格式,平台的无关性使得很多场合都需要用到XML.本文将详细介绍用Java解析XML的四种方法 在做一般的XML数据交换过程中,我更乐意传递XML字符串,而不是格式化 ...
- java解析xml文件四种方式
1.介绍 1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准.DOM是以层次结构组织的节点或信息片断的集合.这个层次结构允许开发人员在树中寻找 ...
- JAVA解析XML的四种方法
XML文件:test.xml <?xml version="1.0" encoding="UTF-8"?> <employees> &l ...
- 详解Java解析XML的四种方法
XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便.对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有DOM ...
- [转]详解Java解析XML的四种方法
XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便.对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有DOM ...
- JAVA解析XML的四种方式
java解析xml文件四种方式 1.介绍 1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准.DOM是以层次结构组织的节点或信息片断的集合.这 ...
- java解析xml的三种方法
java解析XML的三种方法 1.SAX事件解析 package com.wzh.sax; import org.xml.sax.Attributes; import org.xml.sax.SAXE ...
- Java中解析XML的四种方法
XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便.对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有DOM ...
随机推荐
- 最简单的基于FFMPEG的图像编码器(YUV编码为JPEG)
伴随着毕业论文的完成,这两天终于腾出了空闲,又有时间搞搞FFMPEG的研究了.想着之前一直搞的都是FFMPEG解码方面的工作,很少涉及到FFMPEG编码方面的东西,于是打算研究一下FFMPEG的编码. ...
- python的文件操作file:(内置函数,如seek、truncate函数)
file打开文件有两种方式,函数用file()或者open().打开后读入文件的内容用read()函数,其读入是从文件当前指针位置开始,所以需要控制指针位置用: 一.先介绍下file读入的控制函数: ...
- 代理服务器 详解 Apache与Nginx的比较与分析
正向代理:是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容 ...
- Tomcat如何实现资源安全管理
在了解了认证模式及Realm域后,我们看看Tomcat是如何设计实现资源安全管理的.在认证模式上,必须要支持多种认证模式,包括Basic模式.Digest模式.Form模式.Spnego模式.SSL模 ...
- (六十三)自定义TabBar和TabBarButtonItem
自定义TabBar 先自定义一个UITabBarController,为了方便跳转与设定属性,借助系统的TabBarController的功能,但是要移除内部的控件然后自己添加一个View和多个按钮. ...
- spring揭秘 读书笔记 六 bean的一生
我们知道,Spring容器具有对象的BeanDefinition来保存该对象实例化时需要的数据. 对象通过container.getBean()方法是才会初始化该对象. BeanFactory 我们知 ...
- UVa - 116 - Unidirectional TSP
Background Problems that require minimum paths through some domain appear in many different areas of ...
- Xcode相关常用快捷键搜集
command + L: 跳转到指定行 control + i: 格式化代码 command + control + 上/下 在*.h和*.m之间切换. command + control ...
- mysql进阶(十一)外键在数据库中的作用
MySQL外键在数据库中的作用 MySQL外键的目的是控制存储在外键表中的数据,使两张表形成关联,是MySQL数据库中非常重要的组成部分,值得我们去深入了解.那么,MySQL外键究竟起到哪些作用呢?下 ...
- Android表格布局(Table Layout)
Android表格布局(Table Layout) 先来看布局管理器之间继承关系图: 图1 可知TableLayout继承了LinearLayout,所以表格布局本质上依然是线性管理器. 表格布局采用 ...