前言
这部分学习的重点:
1.XML的语法格式
因为目前XML几乎用不到了,所以只需要知道如何编写XML即可,XML解析不用深究,但是需掌握XML的一道面试题(Java中有几种XML解析方式 ? 分别是什么 ? 有什么样的优缺点 ?)
2.JSON的语法格式
3.JSON的解析
一、XML的语法格式
直接看案例:
<?xml verson="1.0" encoding="UTF-8"?>
<Books>
<Book id="1001">
<Name>金苹果</Name>
<Info>种植苹果的过程</Info>
</Book>
<Book id="1003">
<Name>银苹果</Name>
<Info>种植苹果的过程</Info>
</Book >
<Book id="1004">
<Name>花苹果</Name>
<Info>种植苹果的过程</Info>
</Book>
</Books>
二、XML解析的面试题
Java中有几种XML解析方式 ? 分别是什么 ? 有什么样的优缺点 ?
答:四种。分别是:SAX、DOM、JDOM、DOM4J
SAX:逐行解析,事件驱动机制
优点:能立即开始,不用等待所有数据都被处理,逐行加载节省内存,有时不必解析整个文档,它可以在某个条件得到满足时停止解析
缺点:单向解析,无法同时访问同一文档的不同部分数据,加载了第二行,第一行就被回收,无法再操作,无法得知事件发生时元素的层次, 只能自己维护节点的父/子关系,只读解析方式, 无法修改XML文档的内容
DOM:需要加载整个文档在内存中建立文档树模型,程序员可以通过操作文档树来完成对数据的获取、删除、修改等
优点:可以在任何时候对数据进行更改
缺点:文档全部加载在内存,对内存消耗大(可以忽略不计)
JDOM:简化了与XML的交互,比DOM更快。
优点:使用了类而不是接口,简化了DOM的API,大量使用Java的集合类
缺点:没有较好的灵活性,性能没有那么优异
DOM4J:是JDOM的智能分支,有XPATH支持
优点:功能强大, 性能优异,极端易用
缺点:
三、JSON的语法格式
{
"名称":"金苹果",
"介绍":"种苹果",
"章节":["第一章","第二章","第三章",{
"name":"第四章",
"num":188
}]
}
JSON在线视图查看器:JSON在线视图查看器(Online JSON Viewer) (bejson.com)
格式化查看之后显示为:
四、JSON的解析