java xml处理_java_xml处理

一、xml标记语言

1. HTML 超文件标记语言

1) 超文本还是文本,由ASCII码表示的字符存储

2) 所有计算机都有基本字符库

3) 纯属文本文件,所有的计算机设备上都能读取

4) 线文本文件跨平台、跨程序

5) 不同平台上传递信息,使用纯文本

6) .java 文件也是纯文本,遵循java的语法规范,在不同的平台上只要有相应的编译器就可以将其编译成机器码。

7) HTML 里面传递的就是纯粹的ASCII码构成的字符组成的标记(一对尖括号组成)浏览器会按照相应的规则来解释执行标记,这种规则是开放的。

2. XML 也是标记性语言

1) x 代表的是可扩展

2) 标记不是开放的标准,而是程序员自己定义的,格式都是按照标记的写法。

3) 作用,纯文本特性可以作为跨平台,跨程序的数据传递

4) xml有数据的层次结构,可以比较便利的进行数据的查找

5) 把xml作为一个跨平台的小数据库来使用。

6)

3. 对xml的节点进行抽象:

xml标记有层次关系

节点名称

属性 ---名=值

有没有子

所有子

有没有父

父是谁

类型

获得当前节点

获得当前节点的父

获得当前节点的子们

获得当前节点的第一个子

获得当前节点的最后一个子

还能获得当前节点的前一个兄弟节点

获得当前节点的后一个兄弟节点

获得当前节点的所有属性

获得当前节点的某个名字的属性值

这些都是XML DOM树的接口方法

4. xml的层次结构,还可以用来作为配置文件

1) 声明

encoding声明的编码类型必须要和文本的保存编码类型一致

如果是默认文本文档,编码为ANSI, 中文应使用GBK

纯英文 XML 可以不用文档声明

2) 标签

i. 都是有

3) 格式要求

i. 符合格式才是格式良好的XML, 才能被验证解析器正确解析

ii. 文档有且只有一个根标记

iii. 每个元素最多有一个父节点

iv. 可以有0个或多个子节点

v. 元素是用户自定义的,但是xml严格区分大小写

vi. 标记必须正确结束 或者

vii. 标记不能交叉嵌套

viii. 开始标记的标记名要和尖括号紧挨

ix. 标记可有零到任意个属性, 属性名=属性值, 属性值必须加引号,单引号或者双引号。属性只能在开始标记

4) 有效的XML文件

i. xml 传递数据的,跨平台,表述数据结构有问题,会对使用者产生影响

ii. DTD (document type definition)

. XML的结构的抽象描述

. 验证性解析器,可以检查XML文件是否符合描述文件

内部DTD, 只对本文件生效

0或多个任意个dog标签

1个或多个penguin标签

]>

. 外部验证(本地验证和公网验证)

独立的DTD文件

XML文档中,引入验证(dtd)文件

本地验证

公网验证

. DTD文件可以使XML文件的格式检查和编写变得容易

5) Java解析XML

1) 方法有很多,sax解析 , dom解析

2) 本质都是基于DOM树状结构

3) 将XML文件通过解析器,读取到内存中,就可以得到一个抽象的树状结构的对象

4) 然后就可以调用这个树状对象的相应方法

5) 树上有节点(node),标签(element)是节点的子类型元素,还有注释元素、文本元素。。

6) 元素节点的方法要多一些,可以直接根据元素名称找元素,根据属性名称找属性,可以用来查找7)商品管理,就可以实现从XML文件中导入DOM树,遍历dom树,根据商品节点获得相应信息,封闭成商品对象,加入商品集合。其他功能不用做任何变化,增加一个从xml导入商品功能即可。

二、dom树存为xml文件

1) 原来是通过 xml 文件的parse 解析得到内存中的dom树

2) 现在没有文件,需要创建珍一个全新 createElemet 的空白的dom树

3)遍历list集合,每个集合项目要转成一个goods元素节点

4) 依次创建goods元素,增加id属性 值 来自于商品对象

5) 再创建name元素,price元素, 增加包含的文本来自于商品对象

6) 组装节点树,将name price 加到goods下,再把goods加到文档根元素下

7) 创建dom转换器对象,设置转换输出的文件属性

8) 创建转换 dom 源对象

9) 创建转换 xml 输出流目标文件

10) 转换器对象转换,源到目标得到我们要的xml文件。

三、商品管理系统 5.0.时间版本号

1. base --- 基础,包含链接的版本

2. alpha ---- 内测版本

3. beta ----- 公测版本

4. release ---- 发布版本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值