廖雪峰Java14Java操作XML和JSON-1XML-1XML介绍
1.XML:可扩展标记语言(extensible Markup Language)
- 是一种数据表示格式
- 可以描述非常复杂的数据结构
- 用于存储和传输数据
1.1XML特点:
- 1.纯文本,默认utf-8编码
- 2.可嵌套,是和表示结构化数据
1.2XML应用:
文件形式,如book.xml
网络传输,xml格式的内容
<?xml version="1.0" encoding="UTF-8"?><!--XML声明,version只能写1.0,encoding默认utf-8-->
<!DOCTYPE note SYSTEM "book.dtd"><!--文档类型定义(DTD指令,可选)-->
<book id="1"><!--有且仅有一个根元素-->
<name>Java技术核心技术</name><!--可以有若干个子元素-->
<author>CayS Hormann</author>
<isbn lang="CN">123456789</isbn><!--元素可以包含属性-->
<tags>
<tag>Java</tag>
<tag>Network</tag>
</tags><!--元素必须正确嵌套-->
<pubDate /><!--空元素用<tag />-->
</book>
XML中的特殊字符
— < < —> & —& " —" , —'
2.验证XML
2.1格式正确的XML:
- XML的格式是正确的
- 可以被解析器正常读取
2.2合法的XML
数据结构可以被DTD或者XSD验证
必须符合若干规则,参见注释
2.3如何验证XML文件的正确性,使用浏览器查看或网站验证即可
2.4XML相关技术 很少用到,了解即可
- DTD和XSD:验证XML结构和数据是否有效
- Namespace:XML节点和属性的名字空间
- XSLT:把XML转化为另一种文本的描述语言
- XPath:一种XML节点查询语言
3.解析XML
两种标准的解析XML的API:
- DOM:一次性读取XML,在内存中表示为树形结构
- SAX:以流的形式读取XML,使用事件回调
4.总结:
- XML是可扩展标记语言的缩写
- 纯文本数据
- 用于表示复杂的结构化数据
- 用于数据的存储和传输
- 缺点:数据庞大,格式复杂