引言
作为数据传输界鼎鼎大名的扛把子,XML被应用于各个方面,但随着弱结构化标记语言如JSON、YAML等的出现,人们慢慢的脱离了XML的统治,但在互联网早期的发展当中XML是不可或缺的一部分,比如各种微信开发中的数据传输,就是采用传统的XML形式,因此,学习这一标记语言的重要性不言而喻。
设计目的
XML(可扩展标记语言:eXtensible Markup Language)的设计目的是为了结构化、存储、传输数据。
其中最根本的目的就是传输数据,既然需要传输数据,自然也就需要能携带数据,同时也需要有一定的数据结构。
而且,XML是具有自我描述性的,因为所有的标签都是自定义且具有实际含义的自然语言单词。
树结构
XML文档是一种“树状结构”,它将所有的标签以包含的关系分为根标签和子标签、父标签和子标签。如:
<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
上述xml片段中,首行为xml声明,是可选的,定义了xml的version和xml的编码格式UTF-8。<note>是根节点,其他都是子节点。
注意:xml中必须包含根元素(根节点)。
XML基本语法
1、首行的XML声明部分是可选的。
2、XML文档中必须有根标签(或者叫根元素、根节点)。
3、XML大小写敏感。
4、所有标签必须有“关闭”,所谓关闭,就是必须有一个“/”,单标签如:<br />和双标签如:<cmd></cmd> 。
5、所有标签必须正确嵌套。
6、XML属性必须加引号。
7、个别符号用实体引用,避免xml解析器对符号含义的误判:
< | < | less than |
> | > | greater than |
& | & | ampersand |
' | ' | apostrophe |
" | " | quotation mark |
8、XML中的注释这样写:
<!-- 这是一段注释文字 -->
9、在 XML 中,文档中的空格不会被删减。
10、XML 以 LF 存储换行。
XML标签
XML标签可以包含其他元素、文本、属性、或混合前面所有。
标签命名规则
1、名称里不能有空格
2、名称必须以英文字母开始
3、大小写敏感
4、名称里可以有数字或其他字符
5、名称中不能以xml、Xml等开始
6、可以使用任何名称,没有保留的字词
XML的扩展
XML可以进行扩展,以便补充更多信息。
如果在服务不中断的情况下,对xml文件进行扩展,如添加一个标签并附加一些信息,程序并不会崩溃,这也是xml的优势之一,但是新加的补充信息并不会生效。