• XML配置文件


    目录

    一、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:+

    案例

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <!DOCTYPE persons[
    3. <!ELEMENT persons (person+)>
    4. <!ELEMENT person (name,age,contact,br*)>
    5. <!ELEMENT name (#PCDATA)>
    6. <!ELEMENT age (#PCDATA)>
    7. <!ELEMENT contact (phone|email)>
    8. <!ELEMENT phone (#PCDATA)>
    9. <!ELEMENT email (#PCDATA)>
    10. <!ELEMENT br EMPTY>
    11. ]>
    12. <persons>
    13. <person>
    14. <name>张小明</name>
    15. <age>10</age>
    16. <contact>
    17. <phone>1234567</phone>
    18. </contact>
    19. <br/>
    20. </person>
    21. <person>
    22. <name>张大明</name>
    23. <age>35</age>
    24. <contact>
    25. <email>123@qq.com</email>
    26. </contact>
    27. </person>
    28. </persons>

    三、属性定义

    语法结构

    <!ATTLIST element-name att_name type desc>

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

    属性类型

            ID (不可重复)

            (男|女)

            CDATA(文本)

            IDREF(引用)

            reference

    属性描述

             #REQUIRED:必填

             #IMPLIED:非必填

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

     案例

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <!DOCTYPE persons[
    3. <!ELEMENT persons (person+)>
    4. <!ELEMENT person (name,age,contact,br*)>
    5. <!ELEMENT name (#PCDATA)>
    6. <!ELEMENT age (#PCDATA)>
    7. <!ELEMENT contact (phone|email)>
    8. <!ELEMENT phone (#PCDATA)>
    9. <!ELEMENT email (#PCDATA)>
    10. <!ELEMENT br EMPTY>
    11. <!ATTLIST person
    12. pid ID #REQUIRED
    13. sex (男|女) '男'
    14. qq CDATA #IMPLIED
    15. parent IDREF #IMPLIED
    16. >
    17. ]>
    18. <persons>
    19. <person pid="p1" sex="男" qq="aaa" parent="p2">
    20. <name>张小明</name>
    21. <age>10</age>
    22. <contact>
    23. <phone>1234567</phone>
    24. </contact>
    25. <br/>
    26. </person>
    27. <person pid="p2">
    28. <name>张大明</name>
    29. <age>35</age>
    30. <contact>
    31. <email>123@qq.com</email>
    32. </contact>
    33. </person>
    34. </persons>
  • 相关阅读:
    天翼云Web应用防火墙(边缘云版)支持检测和拦截Apache Spark shell命令注入漏洞
    Scalable Time Series Compound Infrastructure(sigmod2020)
    leetcode:21. 合并两个有序链表
    Excel第31享:基于left函数的截取式数据裂变
    redis安装(单机模式和哨兵模式)
    简单谈谈对云原生领域MQ组件kafka的理解
    程序环境和预处理
    【JavaScript】HTML文件插入JavaScript函数
    HuggingFace——Tokenizer的简单记录
    持久层框架设计实现及MyBatis源码分析 ---- MyBatis基础回顾及高级应用
  • 原文地址:https://blog.csdn.net/weixin_67235801/article/details/125612423