是什么?
XML,Extensible Markup Language,扩展性标识语言。文件的后缀名为:.xml。就像HTML的作用是显示数据,XML的作用是传输和存储数据。
XML 指可扩展标记语言(eXtensible Markup Language), 被设计用来传输和存储数据。是各种应用程序之间进行数据传输的最常用的工具。
XML提供了一套夸平台,跨网络,跨应用程序的语言的描述方式。使用XML可以方便的实现数据交换,系统配置,内容管理等。
可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。
在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。
XML标记描述的是文档的结构和意义。它不描述页面元素的格式化。可用样式单为文档增加格式化信息。文档本身只说明文档包括什么标记,而不是说明文档看起来是什么样的。
一、什么是可扩展标记语言?
可扩展标记语言是一种很像超文本标记语言的标记语言。
它的设计宗旨是传输数据,而不是显示数据。
它的标签没有被预定义。您需要自行定义标签。
它被设计为具有自我描述性。
它是W3C的推荐标准。
是干啥用的?
为了便于不同应用、不同平台之间的数据共享和通信。
具体点的作用为:
(1)可作为一种简单的数据库,存储并检索数据;
(2)传输约定格式的文件;
(3)做软件的配置文件。【配置文件:保存软件设置的文件】
标签和属性
一个标签可以有多个属性,每个属性都有它自己的名称和取值,例如: <input name=“text”> ,属性值一定要用双引号(")或单引号(')引起来,定义属性必须遵循与标签相同的命名规范 。
在XML技术中,标签属性所代表的信息,也可以被改成用子元素的形式来描述,例如:
<input> <name>text</name></input>
xml文件中的注释采用: <!--注释--> 格式。
注意:XML声明之前不能有注释;注释不能嵌套。
三种不同的XML格式:
1.列名称作为属性和列值作为属性值:
<row column1="value1" column2="value2" />
2.列名称作为标签和列值作为这些标签的内容
<row>
<column1>value1</column1>
<column2>value2</column2>
</row>
3.列名称是标签的name属性 ,值是这些标签的内容:
<row>
<field name='column1'>value1</field>
<field name='column2'>value2</field>
</row>
XML基本语法格式:
文件扩展名必须以.xml结束(.html)
xml中第一个标签叫文档标签
<?xml version=”1.0” encoding=”utf-8”?>
Version:xml版本是1.0
Encoding:xml文档编码
xml中所有的标签都是用户自定义的,且区分大小写
<div></DIV> != <DIV></DIV> <div></div> <hr/><br/>
xml中所有的标签都是成对出现了,有开始,必须有结束,除非中间没有内容,可以使用单标签来代替 <br/> <hr/>
<student></student> = <student/>
xml文件中有且只有一个最大的根节点。
xml中嵌套必须合理,且每一个节点有且只有 一个直接的父级节点。
<div><p></p></div> <student><age></age></studetn>
xml中的空格保留,不能随便乱打空格。
<div></div> <p></p > #这里p后面多个空格系统就无法识别了#
xml中的属性必须使用单引号和双引号括起来。
<font size="2"></font>
4.XML语法
文件格式:
<?xml version="1.0" encoding="utf-8" ?>
<root>
<part id = "01" name="选项一">
<name>我是徐茅山</name>
<age>今年20岁</age>
<sex>男</sex>
</part>
<part id="02" name="选项二">
<name>我是李逍遥</name>
<age>今年22岁</age>
<sex>男</sex>
</part>
</root>
一个XML文件分为如下几部分内容:
1.文档声明
2.元素
3.属性
4.注释
5.CDATA区、特殊字符
6.处理指令(processing instruction)
4.1.XML语法-文档声明
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
- XML声明放在XML文档的第一行
XML声明由以下几个部分组成:
version –文档符合XML1.0规范,我们学习1.0
encoding –文档字符编码,比如”GB2312”或者”UTF-8”
standalone –文档定义是否独立使用
standalone=”no”为默认值。yes代表是独立使用,而no代表不是独立使用
4.2.XML语法-元素(或者叫标记、节点)
(1)每个XML文档必须有且只有一个根元素
- 根元素是一个完全包括文档中其他所有元素的元素
- 根元素的起始标记要放在所有其他元素的起始标记之前
- 跟元素的结束标记要放在所有其他元素的结束标记之后
(2)XML元素指的是XML文件中出现的标签,一个标签分为开始标签和结束标签,一个标签有如下几种书写方式,例如
- 包含标签体:
<a>www.sohu.com</a>
- 不含标签体的:
<a></a>,简写为:<a/>
- (3)一个标签中也可以嵌套若干子标签。但所有标签必须合理地嵌套,绝对不允许交叉嵌套,例如
<a>welcome to <b> www.sohu.com </a></b>
- 这种情况肯定是要报错的。
(4)对于XML标签中出现的所有空格和换行,XML解析程序都会当做标签内容进行处理。例如下面两段内容的意义是不一样的。
<stu>xiaoming</stu>
- 和如下:
<stu>
xiaoming
</stu>
(5)由于在XML中,空格和换行都作为原始内容被处理,所以,在编写XML文件时,要特别注意。
(6)命名规范:一个XML元素可以包含字母、数字以及其它一些可见字符,但必须遵守以下规范:
- 区分大小写,例如,元素P和元素p是两个不同的元素
- 不能以数字或下划线”_”开头
- 元素内不能包含空格
- 名称中间不能包含冒号(:)
- 可以使用中文,但一般不这么用
4.3.XML语法-属性
<student id="100">
<name>Tom</name>
</student>
(1)属性值用双引号(”)或单引号(’)分隔,如果属性值中有单引号,则用双引号分隔;如果有双引号,则用单引号分隔。那么如果属性值中既有单引号还有双引号怎么办?这种要使用实体(转义字符,类似于html中的空格符),XML有5个预定义的实体字符,如下:
(2)一个元素可以有多个属性,它的基本格式为:
<元素名 属性名1="属性值1" 属性名2="属性值2">
- (3)特定的属性名称在同一个元素标记中只能出现一次
(4)属性值不能包括<,>,&,如果一定要包含,也要使用实体
4.4.XML语法-注释
XML的注释类似于HTML中的注释:
<!--这是一个注释-->
- (1)注释内容不要出现
--
(2)不要把注释放在标记中间;
(3)注释不能嵌套
(4)可以在除标记以外的任何地方放注释
5.格式正规的XML文档-小结
语法规范:
1.XML声明语句
2.必须有一个根元素
3.标记大小写敏感
4.属性值用引号
5.标记成对
6.空标记关闭
7.元素正确嵌套
详解连接:https://blog.csdn.net/Com_ma/article/details/73277535