一、说明
XML(eXtended Markup Language,可扩展标记语言)设计初衷是为了定义、传输和存储数据,它的核心功能不在于展示数据,而是关注于数据的结构化描述和内容表达。与HTML相比,虽然两者都是基于SGML(Standard Generalized Markup Language)发展而来的标记性语言,但用途和侧重点有所不同。
HTML主要用于网页布局和信息显示,其中的元素标签是预定义好的,并且主要以展现数据的形式和外观为主。而XML则提供了一种自定义标签的能力,允许开发者创建自己的文档结构来封装任意类型的数据,其灵活性和通用性更强。
二、理解
XML与HTML之间的区别体现在以下几个方面:
-
预定义标签:HTML中所有的标签都由W3C预先定义,如
<p>、<div>等,它们具有固定的含义和样式表现。而在XML中,标签完全由创作者自行定义,可以根据实际需求创建适合特定领域的标签名称。 -
结构性要求:XML对文档结构有严格的要求,每个元素必须正确关闭,不能省略结束标签;同时,XML文档必须包含一个根元素,它是所有其他元素的父级节点。
-
命名规范:XML元素名称不允许包含空格,推荐使用具有描述性的名称,并可以通过下划线进行连接,例如
<first_name>和<last_name>。 -
注释格式:在XML中,注释采用
<!-- 这是一个注释 -->的形式,用于对文档内容或结构进行解释说明。 -
实体参照:XML支持实体引用,可以用来插入特殊字符或者外部资源。例如,在XML文档中声明并使用内部实体,如下所示:
<!DOCTYPE root [ <!ENTITY example "这是一个示例"> ]> <root>&example;</root> -
样式呈现:虽然XML本身并不负责数据的显示效果,但通过CSS(Cascading Style Sheets),我们可以为XML文档定义样式,使其能够在浏览器或其他解析器中呈现出丰富的视觉效果。
-
XML与HTML的区别

- XML中的实体参照

- XML 中的注释
<!-- This is a comment -->
- XML 语言没有预定义的标签,HTML 中使用的标签都是预定义的
- XML 允许创作者定义自己的标签和自己的文档结构
- XML 中省略关闭标签是非法的,所有元素都必须有关闭标签
- XML 必须包含根元素,它是所有其他元素的父元素
- XML 名称不能包含空格,使名称具有描述性,使用下划线的名称<first_name>、<last_name>
三、实现
- 使用HTML描述数据:
HTML可以直接通过预定义标签展示数据,下面是一个部门简介的简单例子:
<html>
<head>
<title>部门简介</title>
</head>
<body>
<ul>
<li>XX学院</li>
<ul>
<li>编号:001</li>
<li>全称:大学</li>
<li>邮箱:邮箱</li>
<li>电话:电话</li>
<li>网址:网址</li>
</ul>
</ul>
</body>
</html>
- 使用XML进行数据展示:
XML中,我们用自定义标签组织和表示相同数据,使得数据结构更加清晰:
<?xml version="1.0" encoding="GBK"?>
<addresslist>
<department>
<name>XX学院</name>
<id>001</id>
<college>大学</college>
<mail>邮箱</mail>
<tel>电话</tel>
<site>网址</site>
</department>
</addresslist>
- 使用CSS对XML进行格式化:
我们可以编写CSS文件,赋予XML元素不同的样式,然后通过<?xml-stylesheet?>指令将CSS引入XML文档,从而实现XML数据的可视化展示:
CSS文件(attrib.css):
name {
display: block;
color: blue;
font-size: 20pt;
font-weight: bold;
}
id, college, mail, tel, site {
display: block;
color: black;
font-size: 14pt;
font-weight: normal;
font-style: italic;
}
导入CSS样式的XML文件:
<?xml version="1.0" encoding="GBK"?>
<?xml-stylesheet type="text/css" href="attrib.css"?>
<addresslist>
<!-- ... 其他XML内容不变 ... -->
</addresslist>
- 包含属性的XML文件:
在XML中,元素可以通过属性(Attribute)携带额外的信息,属性值需要用引号括起来。以下是一个包含属性的XML实例:
<?xml version="1.0" encoding="GBK" standalone="yes"?>
<addresslist>
<department>
<name id="001">XX学院</name>
<college>大学</college>
</department>
</addresslist>
在这个例子中,<name>元素包含了名为"id"的属性,其值为"001",这为"name"元素提供了附加信息。
6997

被折叠的 条评论
为什么被折叠?



