当前位置:网站首页>XML配置文件
XML配置文件
2022-07-02 12:00:00 【小阿飞_】
相信XML对开发人员都不会陌生,那么,什么是XML呢?XML又有什么作用呢?怎么去使用XML呢?相信看完这篇文章你会有答案
本期精彩
XML介绍
XML是什么
Extensible Markup Language(可扩展标记语言),简称XML
可扩展标记语言:
1、标记,指计算机所能理解的信息符号
2、通过此种标记,计算机之间可以处理包含各种信息的文章等
XML 是一种格式,是一种简单的数据存储语言,也是常用的配置文件
使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,语法格式较严格,虽然可扩展标记语言占用的空间比二进制数据要占用更多的空间,但可扩展标记语言极其简单易于掌握和使用
XML的作用
- 作为项目或者模板的配置文件
- 作为网络传输数据的格式(现在已JSON为主).
- 用来保存数据,而且这些数据具有自我描述性
为什么要学习XML
- 可扩展标记语言极其简单易于掌握和使用
- 语法格式较严格,是常用的配置文件
- XML里面的DTD(下面讲了)可以定义规范,作用相当于接口,即只有使用这个规范才可以实现XML的功能
XML属性定义
语法
- < !ATTLIST element-name att_name type desc >
属性类型
- ID:写在元素中则元素必须具备ID这个属性
- ( 男 | 女 ):属性只能写男或者女,写别的报错
- CDATA:文本属性
- IDREF:引用别人ID标签的值
- reference(少用)
属性描述
- #REQUIRED:表示必填
- #IMPLIED:表示非必填
- '默认值':只有type为男或女类型时,desc才可以使用默认值的方式
XML属性定义的示例
声明一个person对象的属性规范
XML的元素定义
1、DTD定义
DTD简介
DTD(文档类型定义)的作用是定义 XML 文档的合法构建模块
DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用
DTD的标签:< !DOCTYPE root[ ] >
DTD的规范示例
<!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>
]>
2、元素的定义
元素的分类
< !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对象中的元素及元素规范
边栏推荐
- 【题解】Educational Codeforces Round 82
- Xilinx Vivado set *.svh as SystemVerilog Header
- 871. Minimum refueling times: simple priority queue (heap) greedy question
- C RichTextBox controls the maximum number of lines displayed
- buuctf-pwn write-ups (7)
- Actual combat sharing of shutter screen acquisition
- The past and present lives of visual page building tools
- taobao.logistics.dummy.send( 无需物流发货处理 )接口,淘宝店铺发货API接口,淘宝订单发货接口,淘宝r2接口,淘宝oAu2.0接口
- Advanced C language (realize simple address book)
- MFC console printing, pop-up dialog box
猜你喜欢
CodeCraft-22 and Codeforces Round #795 (Div. 2)D,E
Internet Explorer officially retired
Base64 coding can be understood this way
Dragonfly low code security tool platform development path
【NOI模拟赛】刮痧(动态规划)
【apipost】使用教程
IE 浏览器正式退休
fatal: unsafe repository is owned by someone else 的解决方法
Thoroughly master prototype__ proto__、 Relationship before constructor (JS prototype, prototype chain)
vChain: Enabling Verifiable Boolean Range Queries over Blockchain Databases(sigmod‘2019)
随机推荐
Makefile 分隔文件名与后缀
Xilinx Vivado set *.svh as SystemVerilog Header
Mfc a dialog calls B dialog function and passes parameters
实用调试技巧
. Net core logging system
如何对 TiDB 进行 TPC-C 测试
[QNX hypervisor 2.2 user manual]6.3 communication between guest and external
STM32 standard firmware library function name (I)
【NOI模拟赛】刮痧(动态规划)
学习使用php将时间戳转换为大写日期的方法代码示例
MFC 定时器使用
C language exercises - (array)
Thoroughly master prototype__ proto__、 Relationship before constructor (JS prototype, prototype chain)
Solve the problem that El radio group cannot be edited after echo
Printf function and scanf function in C language
记一次报错解决经历依赖重复
AtCoder Beginner Contest 254
用户隐私协议有些汉字编码不规范导致网页显示乱码,需要统一找出来处理一下
【无标题】LeetCode 2321. 拼接数组的最大分数
Obsidian installs third-party plug-ins - unable to load plug-ins