Skip to content

XML

一、XML概念

  1. XML:Extensible Markup Language 可扩展标记语言
  2. 可扩展:标签都是自定义的。 <user> <student>
  3. 功能:存储数据
    1. 配置文件
    2. 在网络中传输
  4. xml与html的区别
    1. xml标签都是自定义的,html标签是预定义
    2. xml的语法严格,html语法松散
    3. xml用于存储数据,html用于展示数据

二、XML语法

  1. xml文档的后缀名 .xml
  2. xml第一行必须定义为文档声明
  3. xml文档中有且仅有一个根标签
  4. 属性值必须使用引号(单双都可)引起来
  5. 标签必须正确关闭
  6. xml标签名称区分大小写

三、XML组成部分

  1. 文档声明
    1. 格式:<?xml 属性列表 ?>
    2. 属性列表:
      1. version:版本号,必须的属性
      2. encoding:编码方式。告知解析引擎当前文档使用的字符集,默认值:ISO-8859-1
      3. standalone:是否独立
        1. yes:不依赖其他文件
        2. no:依赖其他文件
  2. 指令(了解):结合css的
  3. 标签:标签名称自定义的
  4. 属性:id属性值唯一
  5. 文本
    1. CDATA区:在该区域中的数据会被原样展示
    2. CDATA区的格式: <![CDATA[ 数据 ]]>

四、XML约束

1、约束概述

规定xml文档的书写规则

2、学习深度

  1. 能够在xml中引入约束文档
  2. 能够简单的读懂约束文档

3、XML约束分类

1)DTD:一种简单的约束技术

引入dtd文档到xml文档中

  1. 内部dtd:将约束规则定义在xml文档中<!DOCTYPE 根标签名 SYSTEM "dtd文件的位置">
  2. 外部dtd:将约束的规则定义在外部的dtd文件中<!DOCTYPE 根标签名 PUBLIC "dtd文件名字" "dtd文件的位置URL">

2)Schema:一种复杂的约束技术

  1. 填写xml文档的根元素
  2. 引入xsi前缀:xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. 引入xsd文件命名空间:xsi:schemaLocation="http://www.itcast.cn/xml student.xsd"
  4. 为每一个xsd约束声明一个前缀,作为标识:xmlns="http://www.itcast.cn/xml"
xml
<students   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
			xmlns="http://www.itcast.cn/xml"
			xsi:schemaLocation="http://www.itcast.cn/xml  student.xsd"
>

五、XML解析

1、解析

操作xml文档,将文档中的数据读取到内存中

2、操作xml文档

  1. 解析(读取):将文档中的数据读取到内存中
  2. 写入:将内存中的数据保存到xml文档中。持久化的存储

3、解析xml的方式:

  1. DOM:将标记语言文档一次性加载进内存,在内存中形成一颗dom树
    1. 操作方便,可以对文档进行CRUD的所有操作
    2. 占内存
  2. SAX:逐行读取,基于事件驱动的
    1. 只能读取,不能增删改
    2. 不占内存

Released under the MIT License.