一、什么是可扩展标记语言?
它的设计宗旨是传输数据,而不是显示数据。
它的标签没有被预定义。您需要自行定义标签。
它被设计为具有自我描述性。
它是W3C的推荐标准。
二、XML组成
前导区:规定XML的一些属性:
version 表示XML的版本,现在是1.0。
encoding 表示文字的编码格式,如果包含中文,必须设置编码格式。
数据区:所有数据区必须有一个根节点,一个根结点可以包含多个子节点,但是每个节点必须完结。
三、xml基本格式
1.
“”开始,”?>”结束的是处理指令。这个指令必须放在第一行
2.根标记:根标记有且仅有一个
3.自定义的标记,如
4.标记必须有结束标记。两种结束方式:
四、命名规范
1.名称开头必须是字母或“_”
2.标记名称中不能有空格
3.名称的字符串只能包含“英文字母”、“数字”、“-”、“_”、“.”等字符
5.标记对区分大小写
6.属性的值必须用双引号括起来
7.特殊字符必须用XML中的特定编码来表示
8.标记不能交叉使用
五、xml解析方式
DOM:将文档加载进内存,形成一颗dom树(document对象),将文档的各个组成部分封装为一些对象。
优点:因为,在内存中会形成dom树,可以对dom树进行增删改查。
缺点:dom树非常占内存,解析速度慢。
SAX:逐行读取,基于事件驱动
优点:不占内存,速度快
缺点:只能读取,不能回写
Pull: 基于事件 ,不会将文件加载到内存, 相对于 dom 速度较慢, 会记录当前解析的标签
优点: SAX的优点PULL都有,而且解析方法比SAX更加简单
缺点:可拓展性差:无法对 XML 树内容结构进行任何修改
六、XML 解析
1. DOM解析
2.SAX 解析
3. PULL解析
閱讀更多 跟老司機學Java 的文章