XML简介
1:XML与操作系统、编程语言的开发平台都无关
2:规范统一,实现不同系统之间的数据交互。XML技术应用广泛,最基本的如网站,应用程序的配置信息一般采用XML文件描述。
<?xml version="1.0" encoding="UTF-8" standalone="no"?><phoneInfo>
<Brand name="华为">
<Type name="P9"/>
</Brand>
<Brand name="苹果">
<Type name="Iphone6"/>
<Type name="Iphone7"/>
</Brand>
</phoneInfo>
XML声明
version:文档符合XML1.0规范。
encoding:文档字符编码,默认UTF-8。
标签
在XML中,通过用尖括号<>括起来的各种标签标记数据,标签成对使用来界定字符数据。
元素
元素由开始标签、结束标签和元素内容组成。
- 名称中可以包含字母、数字或其他的字符
- 名称不能以数字或标点符号开始
- 名称不能以字符"XML"(或XML、Xml)开始
- 名称中不能包含空格
根元素
- 根元素是一个完全包括文档中其他所有元素的元素
- 根元素的起始标签要放在所有其他元素的起始标签之前
- 根元素的结束标签要放在所有其他元素的结束标签之后
注意
XML中的特殊字符的处理
特殊字符 | 实体名称 |
---|---|
< | < |
> | > |
& | & |
" | " |
' | ' |
格式良好的XML文档
- 有XML声明语句
- 有且仅有一个根元素
- 标签大小写敏感
- 属性值用双引号包裹
- 标签成对/空标签关闭
- 元素正确嵌套
解析XML概述
概述:XML解析是指将XML文件转换为程序可以处理的数据结构的过程。由于XML是一种用于描述数据结构和信息的语言,因此,通过XML解析,可以将XML文档中的数据转换为程序可以使用的对象或数据。
1.DOM:
- 官方W3C标准,用与平台和语言无关的方式表示XML文档。
- 基于树形结构组织数据,允许开发人员在树中寻找特定信息。
- 优点:整棵树在内存中,可随机访问和修改XML文档。
- 缺点:整个文档必须一次性解析完,对内存消耗大。
2.SAX:
- 基于事件驱动,顺序读取XML文档中的内容,将标签、属性和数据等信息转化为事件,并在读取到这些事件时调用相应的处理方法。
- 优点:解析速度快,占用内存少,尤其适合处理大型XML文档。
- 缺点:不支持修改XML文档内容。
3.JDOM:
- 专为Java设计,简化与XML的交互,并使用具体类而非接口。
- 优点:查找方便,可修改。
- 缺点:性能较差,对内存容量要求高。
4.DOM4J:
- 针对Java开发者的易用性和直观操作设计,功能强大、性能优异、简单易用。
- 优点:大量使用Java集合类,支持XPath,性能最好。
- 缺点:API较为复杂。