XML配置文件

3 篇文章 0 订阅

目录

一、XML的简介

什么是XML?

为什么要学习XML?

 XML的作用

标准的XML格式

二、元素的定义

什么是DTD? 

在XML中加入DTD声明

元素的分类

元素的限制

案例

三、属性定义

语法结构

属性类型

属性描述

 案例


一、XML的简介

什么是XML?

Xml的全称为Extensiable Markup Language,意思是可扩展的标记语言。XMl的语法上和HTML比较相似,但是html标签都是规定好了的,而XML是可以随意定义标签的。

为什么要学习XML?

  1. 可扩展标记语言极其简单易于掌握和使用

  2. 语法格式较严格,是常用的配置文件

  3. XML里面的DTD(下面讲了)可以定义规范,作用相当于接口,即只有使用这个规范才可以实现XML的功能

 XML的作用

  • 用来保存数据,而且这些数据具有自我描述性
  • 可以作为项目或者模块的配置文件
  • 还可以用来做网络传输数据的格式(现在用不多了,都是JSON为主)

标准的XML格式

  1. 有且只有一个根元素
  2. XML标签区分大小写
  3. 正确使用结束标签
  4. 正确嵌套标签
  5. 使用了合法的标签名
  6. 定义有效的属性

二、元素的定义

什么是DTD? 

  • DTD(文档类型定义)的作用是定义 XML 文档的合法构建模块

  • DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用

在XML中加入DTD声明

<!DOCTYPE 根节点[ ]>

 []里写要定义的元素

元素的分类

空元素: <!ELEMENT element-name EMPTY>

文本元素: <!ELEMENT element-name (#PCDATA)>

混合元素: <!ELEMENT element-name (e1,e2)>

元素的限制

与:

或者:|

次数

        0或1:

        

        0~N:*

       

        1~N:+

案例

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE persons[
	<!ELEMENT persons (person+)>
	<!ELEMENT person (name,age,contact,br*)>
	<!ELEMENT name (#PCDATA)>
	<!ELEMENT age (#PCDATA)>
	<!ELEMENT contact (phone|email)>
	<!ELEMENT phone (#PCDATA)>
	<!ELEMENT email (#PCDATA)>
	<!ELEMENT br EMPTY>
]>

<persons>
	<person>
		<name>张小明</name>
		<age>10</age>
		<contact>
			<phone>1234567</phone>
		</contact>
		<br/>
	</person>
	<person>
		<name>张大明</name>
		<age>35</age>
		<contact>
			<email>123@qq.com</email>
		</contact>
	</person>
</persons>

三、属性定义

语法结构

<!ATTLIST element-name att_name type desc>

  • element-name  元素名称
  • att_name  属性名称
  • type  属性类型
  • desc  属性描述

属性类型

        ID (不可重复)

        (男|女)

        CDATA(文本)

        IDREF(引用)

        reference

属性描述

         #REQUIRED:必填

         #IMPLIED:非必填

         ‘默认值’    注意:只有type(男|女)类型时,desc才可以用默认值的方式

 案例

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE persons[
	<!ELEMENT persons (person+)>
	<!ELEMENT person (name,age,contact,br*)>
	<!ELEMENT name (#PCDATA)>
	<!ELEMENT age (#PCDATA)>
	<!ELEMENT contact (phone|email)>
	<!ELEMENT phone (#PCDATA)>
	<!ELEMENT email (#PCDATA)>
	<!ELEMENT br EMPTY>
	<!ATTLIST person
	  pid ID #REQUIRED
	  sex (男|女) '男'
	  qq CDATA #IMPLIED
	  parent IDREF #IMPLIED
	>
]>

<persons>
	<person pid="p1" sex="男" qq="aaa" parent="p2">
		<name>张小明</name>
		<age>10</age>
		<contact>
			<phone>1234567</phone>
		</contact>
		<br/>
	</person>
	<person pid="p2">
		<name>张大明</name>
		<age>35</age>
		<contact>
			<email>123@qq.com</email>
		</contact>
	</person>
</persons>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值