day3xml课堂笔记1.docx
- 文档编号:2435206
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:22
- 大小:2.06MB
day3xml课堂笔记1.docx
《day3xml课堂笔记1.docx》由会员分享,可在线阅读,更多相关《day3xml课堂笔记1.docx(22页珍藏版)》请在冰豆网上搜索。
day3xml课堂笔记1
XML和XML解析
讲师:
胡昶晹
一技术概述
本章的学习知识内容:
●什么是XML?
●为什么要学习XML?
●XML的起源与作用
1什么是XML
XML(eXtensibleMarkupLanguage),是一种可扩展的标记语言,类似HTML。
XML与HTML的区别:
它被设计的宗旨是传输数据,而非显示数据。
XML:
传输数据
HTML:
显示数据
XML标签没有被预定义,需要用户自行定义标签。
XML技术是W3C组织(WorldWideWebConsortium万维网联盟)发布的,目前遵循的是W3C组织于2000年发布的XML1.0规范。
XML被广泛认为是继Java之后在Internet上最激动人心的新技术。
XML是非常简单的,它又结构非常严谨的
XHTML:
XML+HTML
2为什么要学习XML
XML是一种通用的数据交换格式
许多系统的配置文件都使用XML格式
JSP文档也逐步向XML语法格式过渡
许多项目都采用XML作为数据交换格式(WebService)
在日常应用中会经常看见XML格式的文件
掌握XML是软件开发人员的一项基本技能
Struts1.x,struts2.x,spring,hibernate,mybatis等任意一个javaee框架中都要用到XML。
3XML的起源与应用
在线电子商务活动交换的电子文档必须采用某种标准格式,统一电子文档的标准规范是电子商务的基础。
HTML不适合作为电子商务的文档标准。
SGML(StandardGeneralizedMarkupLanguage)过于复杂,无法适应网络上的日常应用。
W3C于1998年2月批准了XML(ExtensibleMarkupLanguage)的1.0版本。
XML是对SGML的简化,语法与HTML非常相似。
XML具有SGML的强大功能和可扩展性,同时又具有HTML的简单性。
XML文档很容易创建,并且结构清晰,不仅让人能够明白,还让计算机也能够明白。
XML作为一种公订的、开放的标准,不受知识产权的限制。
XML:
可扩展标记语言
和HTML很像,HTML是用来展示的.
XML用来做数据传输,数据存储,配置文件
XML的格式非常严谨,简单,标签由自己定义
二第一个XML
本章的学习知识内容:
●怎么写XML
●XML的格式
注意:
1XML文件可以使任意的文本编辑器来写;
2可以使用浏览器打开:
如果符合xml的语法,可以看到内容,否则页面上面报错;
不同的浏览器显示的效果可能有细微的差别
3可以使用jee版本的Eclipse自动创建xml文件
4小技巧
想快速新建某种类型的文件(xml),
必需有声明,声明必需在第一行。
文档声明的字符编码必需和文档本身的编码一致
1有开始必需有结束
2不允许交叉嵌套
3有且只有一个根标签
1属性必需有值
2值必需用引号引起来
3同一个标签中属性名不能相同;但是一个标签可以有多个同名的子标签
注意不要漏掉了分号;
[CDATA[<><><><><>&^*(^*(^&*(3sdfjpwrjp2024372394j*(*<>]]>
CDATA段中的内容原样输出
三XML约束(了解)
本章的学习知识内容:
●XML约束是什么意思?
●dtd约束
●Schema约束
以后我们xml中的标签可以会写错.那么就需要一个文件来对xml进行约束!
约束我们可以写哪些标签,标签里有哪些属性,标签的顺序
约束的好处:
可以让我们不要写错标签/可以有相应的提示
1dtd约束
问:
dtd可以约束xml文件.那么,谁来约束dtd呢?
dtd也可能会写错
2Schema约束
Schema也是约束xml的,但是,它写的写法是有约束的!
Schema的功能比dtd更加强大,但是配置起来更加复杂!
注意的点:
首先大家要知道XML有约束,约束的两种方式分别是dtd与schema
约束的好处:
可以去规范我们的xml标签(根据自己的要求),可以在工具上有相应的提示
Dtd与schema的区别:
Dtd没有人约束它,容易写错,功能要简单一些
Schema:
有相应的标签约束它,功能更加强大
四DOM模型(非常重要)
本章的学习知识内容:
●DOM模型
●Document,Node,Element,Attribute,Text
DOM:
文档对象模型
将一个XML(html)文档的每一个元素解析成一个一个的对象
D
Document
文档(XML文档):
磁盘上面的xml文件
O
Object
对象(Java对象):
把xml文件封装成Java对象
M
Model
模型
磁盘上面可以有很多的XML文件(文档)
在Java使用了一些类型来描述上面的文档
我们要先分析Document:
Node(节点)
Element(元素)
Attribute(属性)-Attr
Text(文本)
DOM的概念我们已经说了。
文档对象模型
有哪些对象:
Document(文档),Element(标签元素),Attr(属性对象),Text(文本对象)
一切皆节点:
所有的对象都是Node对象
所有的对象之间都是有关系的
听着:
咱们学习XML的解析,一切的开始都要先找到document对象
五XML原生API解析
原生API的特性:
它将xml文档中的所有内容读取出来,然后进行封装,封装好之后是放在内存里面的..
我们去拿它,去修改他都是去操作的内存中的数据
解析XML,其实就是对XML进行增删改查
解析XML,我们需要先拿到一个对象:
Document
如果我们看到一个类不能够创建实例的时候,去看找静态方法
这里我看了一下,没有找到!
根据经验(偶然)发现,有一个东西叫做->DocumentBuilder(建造者模式)
我们要创建它,但是不能直接new,也没有静态方法创建!
根据经验(偶然)发现,有一个东西叫做->DocumentBuilderFactory(工厂模式)
不过它不能够直接创建,但是我们找到了一个静态方法创建它:
DocumentBuilderFactory
工厂模式往往伴随着单例模式...
1拿到document对象
2得到某个具体的文本节点的内容
1拿到document对象
2拿到根节点
3拿到根节点下面的所有的节点(linkman),有多个
4拿到第二个linkman
5拿到linkman中唯一的一个name元素
6从元素中去拿到最后的文本
3修改某个元素节点的主体内容
4增加一个联系人信息
5操作XML文件属性
6删除一个节点
六使用Dom4J进行解析
原生的已经很简单了,但是还不够简单.在性能上也是有一定的问题的.
对于xml的解析,有很多人(组织,机构,公司),已经做好了一套优化的方案.
他们写了一些工具类(jar),可供我们直接拿来使用...
在其它中一个佼佼者-dom4j
从网上获得dom4j的资源:
中包含了相关的资料
4:
for2:
to
我们要用这套东西,就需要到网上去下载这个工具包,下载下来后是一个zip包
注意:
千万不要把zip包放到lib中去
对于这种常用的工具,在网上有很多很多教程(中文的)
找到文档中的首页(index,main,home)
1拿到Document对象
2拿到一个节点的文本
3修改一个元素
4添加linkman元素
为我们设置一个漂亮的样式
5设置/获取联系人的id属性
6删除一个指定元素
七今日要求
1.知道什么是XML
2.XML格式必需掌握
3.知道XML的约束有什么用(DTD,Schema)
4.使用原生API操作XML文件
5.使用DOM4J操作XML文件
八作业
1对下图的XML进行解析★
要求(分别使用api与dom4j两种方式):
1、得到某个具体的文本节点的内容:
取出第二个联系人的名字
2、修改某个元素节点的主体内容:
把第一个联系人的邮箱改掉
3、向指定元素节点中增加子元素节点:
增加一个联系人信息
4、操作XML文件属性:
设置/获取联系人的id属性
5、删除指定元素节点:
删除第三个联系人信息
2自己做一个学员xml(选做)
根元素student,里面有姓名(name),年纪(age).然后进行添删改查
添加的时候创建一个学员类(里面有两个字段name,age)
想一下应该怎么做?
?
?
Studentstu=newStudent("xx",342);
创建一个类StudentDAOImpl,类里面有一个方法save
StudentDAOImpldao=newStudentDAOImpl();
dao.save(stu);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- day3xml 课堂 笔记
![提示](https://static.bdocx.com/images/bang_tan.gif)