XML(可扩展标记语言)文件本身不能对自己“做出”任何操作。它们是存储数据的一种简单方式,而存储的数据可以被其它软件轻松读取。很多程序都会使用可扩展标记语言(XML)来存储数据。XML可用来存储数据、携带数据和交换数据,不是为了显示数据而设计的。
配置文件在程序中的应用还是很常见的,如我们需要启动一个Socket 的客户端去连接远程的Server,这时需要设置服务器的Ip和Port。当我们本次设置完成后,下次再使用的时候希望程序“记录”这个Ip和Port,我们直接连接即可,而不是要求用户再输入一次。面对这种需要“记录”的功能,我们可以使用配置文件。
对于数量不多的配置信息,我们可以使用QSettings进行记录,而对于一些复杂而且数量较多的配置信息,我们则可以使用配置文件。如Xml配置文件、Json配置文件等。
语法
< !ATTLIST element-name att_name type desc >
属性类型
ID:写在元素中则元素必须具备ID这个属性
( 男 | 女 ):属性只能写男或者女,写别的报错
CDATA:文本属性
IDREF:引用别人ID标签的值
reference(少用)
属性描述
#REQUIRED:表示必填
#IMPLIED:表示非必填
'默认值':只有type为男或女类型时,desc才可以使用默认值的方式
DTD(文档类型定义)的作用是定义 XML 文档的合法构建模块
DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用
DTD的标签:< !DOCTYPE root[ ] >
- <!DOCTYPE NEWSPAPER [
-
- <!ELEMENT NEWSPAPER (ARTICLE+)>
- <!ELEMENT ARTICLE (HEADLINE,BYLINE,LEAD,BODY,NOTES)>
- <!ELEMENT HEADLINE (#PCDATA)>
- <!ELEMENT BYLINE (#PCDATA)>
- <!ELEMENT LEAD (#PCDATA)>
- <!ELEMENT BODY (#PCDATA)>
- <!ELEMENT NOTES (#PCDATA)>
-
- <!ATTLIST ARTICLE AUTHOR CDATA #REQUIRED>
- <!ATTLIST ARTICLE EDITOR CDATA #IMPLIED>
- <!ATTLIST ARTICLE DATE CDATA #IMPLIED>
- <!ATTLIST ARTICLE EDITION CDATA #IMPLIED>
-
- ]>
元素的分类
< !DOCTYPE element-name EMPTY>//空元素
< !DOCTYPE element-name (#PCDATA)>//文本元素
< !DOCTYPE element-name (e1,e2)>//混合元素
空元素指没有标签体的元素(像单标签),如</a>;混合元素指一个元素中有多个不同的元素,如<head> <h1> <sex> </sex> </h1></head>;文本元素则就是可以传入文本类型的标签,如中文、字母、数字等
元素的限制
- 与:用 . 表示
- 非:用 | 表示
次数:
- 0或1:用 ?表示
- 0或N:用 * 表示
- 1或N:用 + 表示
👇定义person对象中的元素及元素规范