04 - xml

4.1 XML简介

4.1.1 什么是 xml?

xml 是可拓展性的标记语言

4.1.2 xml 的作用

xml的主要作用有:

  1. 用来保存数据,而且这些数据具有自我描述性
  2. 它还可以作为项目或者模块的配置文件
  3. 还可以作为网络传输数据的格式(现在 JSON 为主)

4.2 xml 语法

4.2.1 文档文件

需求:创建一个 xml 文件,用来描述图书信息

  1. 创建一个 xml 文件
    在这里插入图片描述
    文件名:
    在这里插入图片描述<?xml version="1.0" encoding="UTF-8"?> xml 声明
    xml 声明version 是版本的意思encding 是编码
    注:<?xml 要连在一起写
    属性:
    • version 是版本号
    • encoding 是 xml 的文件编码
    • standalone=“yes/no” 表示这个 xml 文件是否是独立 xml 文件
  2. 图书有 id 属性,表示唯一标识,书名,有作者价格的信息
    在这里插入图片描述
    在浏览器中可以查看到文档
    在这里插入图片描述

4.2.2 元素(标签)

html标签:
 - 格式:<标签名>封装的数据</标签名>
 - 单标签:<标签名/>  <br /> 换行 <hr/> 水平线
 - 双标签:<标签名>封装的数据<标签名/>
 - 标签名大小写不敏感
 - 标签有属性,有基本属性和事件属性
 - 标签要闭合(不闭合,html中不报错。但是要养成良好的书写习惯)
  1. 什么是 xml 元素
    在这里插入图片描述

  2. xml 命名规则

    xml 必须遵守以下命名规则:

    1. 名称可以含字母、数字以及其他的字符

       例如:
       <book id="SN12324321"> 		<!-- 描述一本书 -->
       	<author>班导</author> 	<!-- 描述书的作者信息 -->
       	<name>java</name> 		<!-- 书名 --> 
       	<price>9.9</price> 		<!-- 价格 -->
       </book>
      
    2. 名称不能以数字或者标点符号开始在这里插入图片描述

    3. 名称不能包含空格
      在这里插入图片描述

  3. xml 中的元素(标签)也分成单标签和双标签
    在这里插入图片描述

4.2.3 xml 属性

xml 标签属性和 html 的标签属性是非常相似的,属性可以提供元素的额外信息
	在标签上可以书写属性:
		一个标签可上可以书写多个属性。每个属性的值必须使用引号引起来
		书写的规则和标签的书写规则一样

在这里插入图片描述
:属性必须使用引号引起来,否则报错
在这里插入图片描述

4.2.4 xml 注释

 html 和 xml 注释一样:	<!-- html注释 -->

4.2.5 语法规则

  1. 所有 xml 元素都必须有关闭标签(也就是闭合)
    在这里插入图片描述

  2. xml 标签对大小写敏感
    在这里插入图片描述

  3. xml 必须正确的嵌套
    在这里插入图片描述

  4. xml 文档必须有根元素
    根元素就是顶级元素
    没有父标签的元素,叫顶级元素
    根元素是没有父标签的顶级元素,而且是唯一一个才行
    在这里插入图片描述

  5. xml 的属性值必须加引号
    在这里插入图片描述

  6. xml 中的特殊字符
    在这里插入图片描述

  7. 文本区域(CDATA 区)

    CDATA 语法可以告诉 xml 解析器,我 CDATA 里的文本内容,只是纯文本,不需要 xml 语法解析
    	CDATA 格式:
    	<![CDATA[ 这里可以把你输入的字符原样显示,不会解析 xml]]>
    

    在这里插入图片描述

4.3 xml 解析技术介绍

xml 可扩展的标记语言

不管是 html 文件还是 xml 文件它们都是标记性文档,都可以使用 W3C 组织定制的 dom 技术来解析
在这里插入图片描述
document 对象表示的是整个文档(可以是 html 文档,也可以是 xml 文档)

早期 JDK 为我们提供了两种 xml 解析技术 DOM 和 Sax 简介已经过时,但我们需要知道这两种技术

  • dom 解析技术是 W3C 组织定制的,而所有的编程语言都对这个技术使用了自己语言的特点进行实现
    Java 对 dom 技术解析标记也做了实现
  • sun 公司在 JDK5 版本对 dom 解析技术进行升级:SAX (Simple API for XML)
    SAX 解析,它跟 W3C 制定的解析不太一样。它是以类似事件机制通过回调告诉用户当前正在解析的内容
    它是一行一行的读取 xml 文件进行解析的,不会创造大量的 dom 对象,所以它在解析 xml 的时候,在内存的使用上和性能上,都优于 dom 解析
  • 第三方解析:
    jdom 在 dom 基础上进行了封装
    dom4j 又对 jdom 进行了封装
    pull 主要用在 Android 手机开发,是在跟 sax 非常类似都是事件机制解析 xml 文件
    注: 这个 Dom4j 它是第三方的解析技术,我们需要使用第三方给我们提供好的类库才可以解析文件
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值