高级编程
文章目录
第十章,XML
一,XML简介
-
XML(EXtensible Markup Language),可扩展标记语言
-
特点
- XML与操作系统。编程语言的开发平台无关
- 实现不同系统数据之间的交换
-
作用
- 数据交互
- 配置应用程序和网站
- Ajax基石
-
XML文档结构
xml<?xml version="1.0" encoding="UTF-8"?> <books> <!--图书信息 --> <book id="bk101"> <author>王珊</author> <title>.NET高级编程</title> <description>包含C#框架和网络编程等</description> </book> <book id="bk102"> <author>李明明</author> <title>XML基础编程</title> <description>包含XML基础概念和基本作用</description> </book> </books>
-
XML标签
-
XML文档内容由一系列表标签元素组成
xml<元素名 属性名="属性值">元素内容</元素名>
-
属性值用双引号包裹
-
一个元素可以有多个属性
-
属性值中不能直接包含<、"、&
-
不建议使用的字符:'、>
-
二,XML编写注意事项
- 所有XML元素都必须有结束标签
- XML标签对大小写敏感
- XML必须正确的嵌套
- 同级标签以缩进对齐
- 元素名称可以包含字母、数字或其他的字符
- 元素名称不能以数字或者标点符号开始
- 元素名称中不能含空格
三,转移符
四,XML解析器
- 解析器类型
- 非验证解析器
- 检查文档格式是否良好
- 验证解析器
- 使用DTD检查文档格式的有效性
- 非验证解析器
五,XML命名空间
-
XML命名空间的作用
-
解决在复杂,大型xml文件中,出现名称相同,但是含义不同的元素
xml<?xml version="1.0" encoding="UTF-8"?> <cameras xmlns:canon="http://www.canon" xmlns:nikon="http://www.nikon.com"> <canon:camera prodID="P663" name="Camera傻瓜相机"/> <nikon:camera prodID="K29B3" name="Camera超级35毫米相机"/> </cameras>
-
六,解析XML技术
- DOM
- 基于XML文档树结构的解析
- 适用于多次访问的XML文档
- 特点:比较消耗资源
- SAX
- 基于事件的解析
- 适用于大数据量的XML文档
- 特点:占用资源少,内存消耗小
- DOM4J
- 非常优秀的Java XML API
- 性能优异、功能强大
- 开放源代码
七,DOM解析XML
-
DOM介绍
- 文档对象模型(Document Object Model)
- DOM把XML文档映射成一个倒挂的树
-
常用接口介绍
-
访问DOM树节点
- DOM解析XML文件步骤
- 创建解析器工厂对象
- 解析器工厂对象创建解析器对象
- 解析器对象指定XML文件创建Document对象
- 以Document对象为起点操作DOM树
- DOM解析XML文件步骤
八,保存XML文件
- 获得TransformerFactory对象
- 创建Transformer对象
- 创建DOMSource对象
- 包含XML信息
- 设置输出属性
- 编码格式
- 创建StreamResult对象
- 包含保存文件的信息
- 将XML保存到指定文件中