1 XML 初识
1.1
XML(EXtensible Markup Language) ,可拓展标记语言
- 标记,指的是标记语言,也称标签语言,可以用一系列的标签来对数据进行描述。
例如<age>19</age>
- 拓展,指的是用户可以自定义标签
1.2 为啥要学习XML (XML的作用)
- XML可以作为数据传输的标准
作为数据的一种传输标准,要考虑可读性、可扩展性、可维护性,并且最好是和语言无关。XML作为传输数据的标准就比较适合,在上述方面表现都很好。 - XML可以作为配置文件
很多软件和框架,都会提供XML文件配置的方式,以便可以方便快捷的修改软件或框架的功能。 - XML可以持久化数据
- XML 简化平台变更
1.3元素
元素,指的就是XML中的标记,这种标记也被称为标签、节点。一个XML元素可以包含字母、数字以及其它一些可见字符,但必须遵守下面的一些规范:
- 不能以数字或部分标点符号开头
- 不能包含空格和特定的几个符号
- 标签必须成对出现,不允许缺省结束标签
- 根元素有且只有一个
- 大小写敏感
- 允许多层嵌套但是不允许交叉嵌套
XML 必须包含根元素
根元素有且只能有一个,它是所有其他元素的父元素。
<?xml version="1.0" encoding="utf-8"?>
<root>
<name>
</name>
</root>
<root>
就是根节点
注意!:
- XML 标签对大小写敏感
- XML标签允许 嵌套 但是不允许 交叉
1.4 属性
XML属性(Attribute)提供了元素相关的一些额外信息
属性必须加引号 可以单引也可以双引
<name id="1">tom</name>
<name id='2'>lilei</name>
且一个元素可以拥有多个属性
<name id="1" age="21" desc="boy">tom</name>
1.5实体
实体 | 字符 | 简介 |
---|---|---|
& lt; | < | Less than |
& gt; | > | Greather than |
& amp; | & | mpersand |
& apos; | ’ | Apostrophe |
& quot; | " | Quotation mark |
自定义实体:
<!DOCTYPE root[<!ENTITY CSDN "专业it技术社区- 专业开发者社区 ">]>
注释:
<!-- 注释内容 -->
1.6 CDATA
XML 解析器,会解析 XML 文档中所有的文本。
在xml中
- 解析器进行解析的内容,称为PCDATA(Parsed CDATA)
- 解析器不会解析的内容,称为CDATA,(Character Data)
<![1 CDATA[&]]>
浏览器就会原样输出 & 而不是被解析之后的实体 &
2 CSS
2.1 css
CSS(Cascading Style Sheets) 层叠样式表,通常用来给HTML中内容、或者XML中内容进行样式的渲染,这里需要先简单的使用一下,配合XML来渲染需要显示的内容。
name{
font-size:30px;
font-weight:bold;
color:red;
}
age{
font-size:30px;
font-weight:bold;
color:green;
}
2.2指令
处理指令,简称PI (processing instruction),可以用来指定解析器如何解析XML文档内容。
在XML文档中可以使用xml-stylesheet指令,通知XML解析引擎,使用test.css文件来渲染xml内容。最后内容被渲染的效果:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="test.css" type="text/css"?>
<class>
<student id="001">
<name>张三</name>
<age>20</age>
</student>
<student id="002">
<name>李四</name>
<age>20</age>
</student>
</class>
最后内容被渲染的效果:
3 XML命名空间
前缀: x:
<?xml version="1.0" encoding="utf-8"?>
<x:table>
<tr>
<td>hello</td>
<td>world</td>
</tr>
</x:table>
还可以进一步,声明这个前缀是属于哪个命名空间: