参考
XML:https://www.jianshu.com/p/955e7f4c9da1
一. XML
1.为什么使用XML
- 在XML出现之前,程序之间使用String通信,不便于描述如下图的关系型结构的数据
- 使用XML能够非常简单地描述上述图片表示的关系
<?xml version="1.0" encoding="UTF-8" ?>
<中国>
<北京>
<海淀></海淀>
<丰台></丰台>
</北京>
<湖南>
<长沙></长沙>
<岳阳></岳阳>
</湖南>
<湖北>
<武汉></武汉>
<荆州></荆州>
</湖北>
</中国>
2. XML的用途
- 配置文件:XML能非常清晰地描述出程序之间的关系
- 数据传输:XML具有通用性,便于网络数据交互
- 小型数据库
3. XML的技术架构
- XML秉承“什么都不做”的设计理念,XML数据或XML文档只用于组织、存储数据,除此之外的数据生成、读取、传输等操作都与XML本身无关
- 操作XML需要用到XML之外的技术
1)为XML定规则—— DTD 或 Schema 技术
2)解析XML—— DOM 或 SAX 技术
3)提供样式—— XML设计者不仅希望XML能用于存储数据,也能用于显示数据,于是有XSLT(可扩展样式转换语言)
4. XML语法
- 文档声明
1)version:版本
2)encoding:编码
3)standalone:表示XML是否独立,默认为no,意为可以引用外部DTD规范文档
<?xml version="1.0" encoding="utf-8" standalone="no"?>
- 元素(标签)
1)XML元素中的出现的空格和换行都会被当做元素内容进行处理
2)每个XML文档必须有且只有一个根元素
3)元素必须闭合
4)区分大小写
5)不能交叉嵌套
6)不能以数字开头 - 属性
分为属性名和属性值,是元素的一部分
<!--属性名是name,属性值是china-->
<中国 name="china">
</中国>
- 注释
- CDATA
XML解析程序将直接输出CDATA中的内容
<![CDATA[
...内容
]]>
- 转义字符
转义符 | 符号 |
---|---|
< | < |
> | > |
& | & |
" | " |
&apos | ' |
- 处理指令
简称PI(processing instruction),指挥解析引擎如何解析XML文档内容,如以下指令通知XML解析引擎应用1.css文件显示xml文档内容
<?xml-stylesheet type="text/css" href="1.css"?>
5. Java中的XML API
- 解析XML
1)dom:DOM解析读取整个XML文档,在内存中形成DOM树,对XML文档的内容进行增删改非常方便,但如果XML文档的内容过大,就会导致内存溢出
2)SAX:SAX解析采取部分读取的方式,可以处理大型文件,但只能按顺序处理文件,不支持文件的增删改操作
3)dom4j - 映射XML为Java对象
1)JAXB - XML查询
1)XPATH:取代传统的从根节点开始,逐层查询属性的XML查询方式
网友评论