XML简介

XML

  • XML的全称是Extensible Markup Language,可扩展标记语言
  • 编写XML就是编写标签,扩展名.xml
  • XML有着良好的人机可读性

用途

  • java程序的配置描述文件
<config>
	<application-name>X电商平台</application-name>
    <host-ip>192.168.132.65</host-ip>
    <page-size>10</page-size>
</config>

文档结构

  • 第一行必须是XML声明
  • 有且只有一个根标签
  • XML标签的书写规则

XML声明

  • XML声明说明XML文档的基本信息,包括版本号与字符集,写在XML第一行
<?XML version="1.0" encoding="UTF-8"?>
//version代表版本号,endoding表示字符集设置

XML根标签

  • 每个XML文档必须拥有“根标签”
  • 标签是有上下级关系的,上级为“父标签”,下级为“子标签”
  • 标签也常被称为“节点”
<?XML version="1.0" encoding="UTF-8"?>
<employee>
	<name>张三</name>
    <age>18</age>
</employee>

XML标签书写规则

合法的标签名
  • 标签名要有意义
  • 建议使用英文小写字母,单词之间使用“-”分隔
  • 建议多级标签之间不要存在重名情况
适当的注释与缩进
  • 适当注释和缩进可以让XML文档更易阅读
合理使用属性
  • 属性用来描述标签不可或缺的信息
<shop-cart>
	<item sn="101" category="电器">
    	<name>空调</name>
        <price>1000</price>
        <num>1</num>
    </item>
</shop-cart>
特殊字符与CDATA标签

标签中出现‘<’等类似字符会破坏文档结构

  • 解决方案1:使用实体引用
实体引用对应符号说明
&lt;<小于
&gt;>大于
&amp;&和号
&apos;单引号
\quot;"双引号
  • 解决方案2:使用CDATA标签处理特殊字符
<exam>
	<question>><![CDATA[1+4<3是否正确?]]></question>
</exam>
有序的子元素
  • 在XML多层嵌套的子元素中,标签前后顺序应该保持一致

XML语义约束

  • XML语义约束有两种定义方式:DTD和XML Schema

DTD(Document Type Definition)

  • DTD是一种简单易用的语义约束方式
  • DTD的文件扩展名为.dtd
DTD定义节点
  • 利用<!ELEMENT>标签,我们可以定义XML文档中允许出现的节点及数量
  1. 定义hr节点下只允许出现一个employee节点
<!ELEMENT hr(employee)>
  1. employee节点下必须包含以下四个节点,且按照顺序出现
<!ELEMENT employee(name,age,salary,department)>
  1. 定义name标签体只能是文本,#PCDATA代表文本元素
<!ELEMENT name(#PCDATA)>
DTD定义节点数量
  • 如果某个子节点需要多次重复出现,则需要在子节点后增加相应的描述符
  1. hr节点下最少出现一个employee子节点
<!ELEMENT hr(employee+)>
  1. hr节点下出现0-n个employee子节点
<!ELEMENT hr(employee*)>
  1. hr节点下最多出现一个employee子节点
<!ELEMENT hr(employee?)>
XML引用DTD
  • XML中使用<!DOCTYPE>标签来引用DTD文件,其中SYSTEM表示同目录下
<!DOCTYPE hr SYSTEM "hr.dtd">

XML Schema

  • XML Schema比之DTD更复杂,提供了更多的功能
  • XML Schema提供了数据类型,格式限定,数据范围等特性
  • XML Schema是W3C标准

XML Schema Tutorial

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冬天的锦绣江山

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值