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 ...
随机推荐
- react-native版本升级
时刻将React Native更新到最新的版本,可以获得更多API.视图.开发者工具以及其他一些好东西(译注:官方开发任务繁重,人手紧缺,几乎不会对旧版本提供维护支持,所以即便更新可能带来一些兼容上的 ...
- FFmpeg在ubuntu下安装及使用
FFmpeg是一套可以用来记录.转换数字音频.视频,并能将其转化为流的开源计算机程序.采用LGPL或GPL许可证.它提供了录制.转换以及流化音视频的完整解决方案.它包含了非常先进的音频/视频编解码库l ...
- [WinForm]C# .net防止一个程序(WinForm)重复运行的方法。
最近比较忙,邮件预警系统暂停了没时间去处理,临时处理:直接执行exe文件! 可是问题来了: 我点击了两次,原来几乎在同时执行这个进程,我在程序中有线程时间睡眠2秒一次等待队列,打开进程果然两个MAIL ...
- Dynamics CRM2013 Lookup Filtering using addCustomFilter
dynamics crm中对lookup视图的过滤是一个很平常性的需求,在2011的时候都是用添加自定义视图的方式例如下面这段示例代码 <span style="font-size: ...
- Ext.Net 1.X_读写配置文件
[摘要] 有N个ERP数据库帐套,需要从XML文件中读取. 加载指定路径的XML /// <summary> /// 取得帐套列表 /// </summary> private ...
- hadoop学习要点
一.HDFS (一)HDFS 概念 (二)HDFS命令行接口 (三)Java 接口 (四)文件读取和文件写入,一致性 (五)集群数据的均衡 (六)存档 (七)NameNode 单点故障问题 (八)大量 ...
- STL - stack(栈)
Stack简介 stack是堆栈容器,是一种"先进后出"的容器. stack是简单地装饰deque容器而成为另外的一种容器. #include <stack> stac ...
- 新书《Ext JS 4.2 实战》终于出炉了
在清华大学出版社网站看到了书籍信息了,具体地址是:http://www.tup.tsinghua.edu.cn/book/Showbook.asp?CPBH=056140-01&DJ=51 预 ...
- 添加启动游戏过渡场景Default Splash Scene(Unity3D开发之十三)
添加启动游戏过渡场景Default Splash Scene(Unity3D开发之十三) 猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blo ...
- URL 多线程下载
该资源来源于李刚老师的疯狂JAVA讲义 InutStream openStream():打开与此URL链接,并返回一个用于读取该URL资源的InputStream. 提供的openStream()可以 ...