• XML配置文件


    XML介绍

    XML(可扩展标记语言)文件本身不能对自己“做出”任何操作。它们是存储数据的一种简单方式,而存储的数据可以被其它软件轻松读取。很多程序都会使用可扩展标记语言(XML)来存储数据。XML可用来存储数据、携带数据和交换数据,不是为了显示数据而设计的。

    配置文件在程序中的应用还是很常见的,如我们需要启动一个Socket 的客户端去连接远程的Server,这时需要设置服务器的Ip和Port。当我们本次设置完成后,下次再使用的时候希望程序“记录”这个Ip和Port,我们直接连接即可,而不是要求用户再输入一次。面对这种需要“记录”的功能,我们可以使用配置文件。

    对于数量不多的配置信息,我们可以使用QSettings进行记录,而对于一些复杂而且数量较多的配置信息,我们则可以使用配置文件。如Xml配置文件、Json配置文件等。

    XML属性定义  

    语法
    < !ATTLIST element-name att_name type desc >
    属性类型
    ID:写在元素中则元素必须具备ID这个属性
    ( 男 | 女 ):属性只能写男或者女,写别的报错
    CDATA:文本属性
    IDREF:引用别人ID标签的值
    reference(少用)
    属性描述
    #REQUIRED:表示必填
    #IMPLIED:表示非必填
    '默认值':只有type为男或女类型时,desc才可以使用默认值的方式

    XML的元素定义 

    DTD定义

    DTD简介

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

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

    DTD的标签:< !DOCTYPE root[ ] >

    DTD的规范示例

    1. <!DOCTYPE NEWSPAPER [
    2. <!ELEMENT NEWSPAPER (ARTICLE+)>
    3. <!ELEMENT ARTICLE (HEADLINE,BYLINE,LEAD,BODY,NOTES)>
    4. <!ELEMENT HEADLINE (#PCDATA)>
    5. <!ELEMENT BYLINE (#PCDATA)>
    6. <!ELEMENT LEAD (#PCDATA)>
    7. <!ELEMENT BODY (#PCDATA)>
    8. <!ELEMENT NOTES (#PCDATA)>
    9. <!ATTLIST ARTICLE AUTHOR CDATA #REQUIRED>
    10. <!ATTLIST ARTICLE EDITOR CDATA #IMPLIED>
    11. <!ATTLIST ARTICLE DATE CDATA #IMPLIED>
    12. <!ATTLIST ARTICLE EDITION CDATA #IMPLIED>
    13. ]>

    元素的分类

    1. < !DOCTYPE element-name EMPTY>//空元素

    2. < !DOCTYPE element-name (#PCDATA)>//文本元素

    3. < !DOCTYPE element-name (e1,e2)>//混合元素

    空元素指没有标签体的元素(像单标签),如</a>;混合元素指一个元素中有多个不同的元素,如<head> <h1> <sex> </sex> </h1></head>;文本元素则就是可以传入文本类型的标签,如中文、字母、数字等 

    元素的限制 

    • 与:用 .  表示
    • 非:用 | 表示

    次数:

    • 0或1:用 ?表示
    • 0或N:用 * 表示
    • 1或N:用 + 表示

    元素定义的示例

    👇定义person对象中的元素及元素规范

     

     

  • 相关阅读:
    git 怎么保留某个文件夹忽略其下面的所有文件?
    红黑榜 | 为了这22瓶醋,我们蒸了一锅螃蟹
    【Python21天学习挑战赛】集合 & 数据类型补充
    利用pearcmd实现裸文件包含
    Linux 学习 -- 回顾shell脚本开发
    【STM32教程】第四章 STM32的外部中断EXTI
    Python学习:获取对象信息
    C++运算符重载详解(日期类实操)
    什么是R语言?什么是R包?-R语言001
    【TypeScript】深入学习TypeScript枚举
  • 原文地址:https://blog.csdn.net/WZJ278/article/details/125568785