XML学习笔记

该学习笔记来自于学习孔浩老师与曹锋老师的相关视频教程。

XML学习笔记
XML可扩展标记语言。
主要用于数据交换和系统(框架)配置。
dtd:文档类型定义。
元素和节点的区别:
节点包括元素节点、属性节点和文本节点。
节点的范围比较大。
DOM方式解析XML:整个XML文档加载到内存,很常用。灵活性强,速度快,但是消耗资源比较多。
DOM方式解析的入门例子:
1、获取DocumentFactory(单例);
2、通过DocumentFactory获取DocumentBuilder;
3、使用parse方法,参数是一个文件路径src/student.xml;
4、(最佳实践)将Node(接口)强制转换成子类Element,功能比Node要多;
SAX方式解析XML原理:顺序扫描(而不是加载整个文档),有事件处理函数。
适合大文件的解析,只能读,但是不能修改,开发稍微复杂一些。
开发思路:继承一个类,覆写相关的事件监听函数。
曹锋老师讲的SAX02的代码要自己写一下。特别是要理解为什么要引入preTag。
解析XML的两种利器:JDOM和DOM4J
JDOM
官网:www.jdom.org
使用JDOM解析XML文件比前两种方式都方便,因为JDOM集成了DOM方式解析和SAX方式解析的优点。
JDOM常用的类有:Element(可以引入源码查看使用说明)
Attribute
Document(使用构造函数可以定义根节点)
XMLOutputter(用于输出)
无论是JDOM还是DOM4J都是使用SAX方式遍历。
DOM4J是最佳实践(10分钟就可以搞定)
OutputFormat.createPrettyPrint();
XMLWriter

如果所有的节点都要遍历下去,我们就要使用递归。
后面如果学习安卓,还会有一些新的东西。

对象持久化的方式。
(1)基于对象流的持久化(问题:查找不方便);
(2)XML(非常重要)
(3)关系型数据库实现持久化
XML是一种标记语言,可由程序员随意定义标签。XML的重要作用是将Java对象转换成字符串。而字符串的传输相对于对象的传输要容易。
以后我们还会学习WebService,可以使用XML文件调用方法,这样就实现了异构系统的整合,而这种整合正是基于XML的跨平台特性。

基于Java处理XML。

下载dom4j,网址:http://www.dom4j.org/dom4j-1.6.1/,下载以后,将文档解压到一个合适的地方。zip文件可以留用,方便以后我们调试。

小知识:无论是解压还是未解压的文件,导入的时候 eclipse 会帮我们自动地去找源代码在哪一个路径下。

原文地址:https://www.cnblogs.com/liweiwei1419/p/4309635.html