一.什么是XML
XML:EXtensible Markup Language 可扩展标记语言
- XML 是一种标记语言,很类似 HTML;
- XML 的设计宗旨是传输数据,而非显示数据;
- XML 标签没有被预定义,需要自行定义标签;
- XML 被设计为具有自我描述性;
- XML 是 W3C 的推荐标准。
二.XML树结构
xml文档是从“根部”开始,然后扩展到“枝叶”
例子:
<?xml version="1.0" encoding="ISO-8859-1"?> //第一行是 XML 声明。它定义 XML 的版本 (1.0) 和所使用的编码 (ISO-8859-1 = Latin-1/西欧字符集)。
<note> //根元素
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
- 第一行是XML声明;
- 下一行是描述文档的根元素;
- 之后是若干子元素;
- 最后一行定义根元素的结尾。
XML文档必须包含“根元素”,根元素是其他所有元素的父元素;
所有元素都可有子元素、可有文本内容和属性;
相同层级上的子元素为“同胞”。
三.XML语法规则
1.必须有根元素
<根元素>
<...>
<...>
<...>
</根元素>
2.XML声明可选,若有则放首行
声明语句不是文档本身的一部分
3.所有XML元素都必须有一个关闭标签,省略关闭标签是非法的。
<p>...</p>
4.对大小写敏感
必须使用相同的大小写来编写打开标签(开始标签)和关闭标签(结束标签)
<message>...</message>
5.必须正确嵌套
例:<i>元素在<b>元素内打开的,那么它必须在<b>元素内关闭。
<b><i>...</i></b>
6.XML属性值必须加引号
注:如果属性值本身包含双引号,那么有必要使用单引号包围它或者可以使用实体引用。
例:note元素中的date属性要加引号
<note date="12/11/2018">
7.实体引用
五个预定义的实体引用
8.注释
<!-- ... -->
9.空格会保留。
在 XML 中,文档中的空格不会被删节。
四.XML元素
- XML 元素指的是从(且包括)开始标签直到(且包括)结束标签的部分。
- 元素可包含其他元素、文本或者两者的混合物;
- 元素也可以拥有属性。
五.命名规则
XML 元素必须遵循以下命名规则:
- 名称可以含字母、数字以及其他的字符;
- 名称不能以数字或者标点符号开始;
- 名称不能以字符 “xml”(或者 XML、Xml)开始;
- 名称不能包含空格;
- 可使用任何名称,没有保留的字词。
最佳命名习惯:
- 使名称具有描述性。使用下划线的名称也很不错。
- 名称应当比较简短,比如:<book_title>,而不是:<the_title_of_the_book>。
- 避免 "-" 字符。如果您按照这样的方式进行命名:"first-name",一些软件会认为你需要提取第一个单词。
- 避免 "." 字符。如果您按照这样的方式进行命名:"first.name",一些软件会认为 "name" 是对象 "first" 的属性。
- 避免 ":" 字符。冒号会被转换为命名空间来使用。
- XML 文档经常有一个对应的数据库,其中的字段会对应 XML 文档中的元素。有一个实用的经验,即使用数据库的名称规则来命名 XML 文档中的元素。
- 非英语的字母比如 éòá 也是合法的 XML 元素名,不过需要留意当软件开发商不支持这些字符时可能出现的问题。