互联网的迅猛发展,带来了一场信息爆炸。当海量数据涌入,信息的检索、交换、保存和再利用就成了一道绕不开的坎。而作为承载这些信息最常用的“容器”——HTML,也渐渐暴露出了它的软肋。它的最大问题,就在于把数据内容和表现样式死死地绑在了一起。这就导致文档的可修改性差,数据检索效率低,用起来越来越不顺手。
相比之下,XML的出现,算是一次漂亮的“取长补短”。它把HTML的易用性,和数据库、编程语言的结构化优点结合起来,核心思路只有一个:**把内容与表现彻底分开**。这样一来,不仅检索信息变得轻松,更重要的是,不同系统、不同用户间的数据交换变得前所未有的顺畅,可重用性也大大增强。
XML本质上是一种“元标记语言”,它不像HTML那样有一大堆固定的标签,而是允许你根据实际需要,自己定义标记。这给了Web开发人员极大的灵活性。举个例子,用HTML写一份个人简历,代码大概是这样的:
```html
| 姓名 | 禹希初 | 性别 | 男 | 生日 | 1977.5
|
| 技能 | 数据库设计与维护、WEB开发
|
```
你看到的是这样的:
[此处插入图片:/upload/2006101620292163.gif,标题:上例在浏览器中的样子]
在这段HTML代码里,你从`
`和` | `这些标签上,根本看不出内容到底在说什么。它们只是负责“显示”而已,跟内容本身的意义毫无关联。这给后续的文档处理带来了不小的麻烦。
而用XML来表示同样的简历,就完全是另一回事了:
```xml
禹希初
男
1977.5
数据库设计与维护、WEB开发
```
在浏览器中打开它,效果是这样的:
[此处插入图片:/upload/2006101620293262.gif,标题:上例在浏览器中的样子(IE5.0或更新版本)]
这里有几个关键点需要说明一下:
- **version**:规定了XML文档的版本,目前只能是1.0。
- **encoding**:规定了文档的编码类型,这里用的是“GB2312”,也就是简体中文。
对比这两个例子,差别就很明显了。使用XML,你可以自定义标记,让每个标签都清晰地表达出内容的含义。这样一来,在互联网上交流数据时,计算机处理起来就方便多了。而且,阅读源文件也不会被一堆格式代码搞得晕头转向。
不过,XML也有一个“缺点”:它没有规定标记该如何显示。所以,如果你直接用浏览器打开上面的XML文件,它并不会像HTML那样以表格形式呈现。难道就不能像HTML一样显示吗?当然不是。以个人简历为例,你需要额外准备一个格式文件,专门用来规定每个标记的显示方式。这个文件可以叫`resume.css`,内容如下:
```css
resume{ display: block;}
name{ display: block; font-size:120%;}
sex{ display:block; text-indent:2em}
birthday{ display:block; text-indent:2em}
skill{ display:block; text-indent:2em}
```
这里用的是CSS样式,建议大家提前熟悉一下CSS,后面会经常用到。有了这个文件之后,在`个人简历.xml`文件的第一行后面,加上一行引用:
```xml
```
再来看看效果:
[此处插入图片:/upload/2006101620293262.gif,标题:上例在浏览器中的样子(IE5.0或更新版本)]
说明一下,这个引用表示引入一个外部的CSS样式文件。`type`规定了样式的类型,可以是`text/css`或`text/xsl`;`href`则指定了文件的路径。
保存文件,再用IE5.0打开看看。怎么样?格式是不是不一样了?不过,可能离你期望的效果还有差距。文档内容倒是清晰了,但显示效果看起来还是不如HTML写出来的那么“漂亮”。难道XML就只能这样吗?
**最后,给你几个小提示:**
1. 为了更好地理解XML,建议先熟悉HTML 4.0和CSS 2.0的语法。同时,掌握Ja vaScript或VBScript中的至少一种,以及一些编程经验和数据库理论,会让你在学习过程中事半功倍。
2. XML文档中,标记必须成对出现。如果是空标记,要么用``这种形式,要么用``这种简写方式。
3. XML以及后面要介绍的XSL文档,属性值必须用双引号或单引号括起来。
4. 一个非常重要的规则:XML文档必须是“良构”的。也就是说,标记必须有结束标记,标记可以嵌套,但不能交叉。比如下面这种就是合法的:
``
而下面这种是错的:
``
如果在浏览XML文档时遇到错误,十有八九是违反了上面这些规则。
12345下一页阅读全文
本文转载于:https://www.jb51.net/article/2841.htm 如有侵犯,请联系zhengruancom@outlook.com删除。 免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。
-
正版软件
- using namespace 使用中遇到的问题怎么解决
- 命名空间的基本概念与常见引入问题在C++等编程语言中,命名空间(namespace)是一种将代码标识符(如变量、函数、类名)封装在特定名称下的机制,其主要目的是避免命名冲突,尤其是在大型项目或使用多个第三方库时。使用“using namespace”指令可以将指定命名空间中的所有名称引入当前作用域,
-
9天前
0
-
正版软件
- c语言函数递归 实操经验总结:这些技巧很实用
- 理解递归的基本原理在C语言中,递归是一种函数调用自身的编程技术。要掌握它,首先需要理解其核心思想:将一个复杂的大问题,分解为一个或几个与原问题相似但规模更小的子问题,直到子问题足够简单,可以直接求解。这个过程通常包含两个关键部分:递归出口和递归体。递归出口定义了问题何时不再继续分解,即最简单、可直接
-
9天前
0
-
正版软件
- c语言函数递归 怎么选?常见方案对比分析
- 递归函数的基本概念与适用场景在C语言编程中,递归是一种函数调用自身的编程技巧。它并非适用于所有问题,但在处理某些具有自相似结构的问题时,能提供极其清晰和优雅的解决方案。递归的核心思想是将一个大规模问题分解为一个或多个同类型但规模更小的子问题,直到子问题简单到可以直接求解。典型的适用场景包括树形结构的
-
9天前
0
-
正版软件
- Objective-C 内存管理入门:从 alloc 到 dealloc 的生命周期详解
- 理解内存管理的基石在Objective-C的编程世界中,内存管理是开发者必须掌握的核心技能之一。它直接关系到应用的性能、稳定性与资源利用效率。与一些采用自动垃圾回收机制的语言不同,Objective-C在很长一段时间里,依赖一套基于引用计数的、需要开发者部分介入的管理规则。这套规则的核心思想是明确的
-
9天前
0
-
正版软件
- 如何正确使用 dealloc 以避免 iOS 应用中的内存泄漏
- 理解 dealloc 的角色与时机在 iOS 应用开发中,内存管理是保障应用性能与稳定性的基石。dealloc 方法是 Objective-C 中对象生命周期结束时的关键回调,它标志着对象即将被系统回收内存。正确理解其触发时机至关重要:当一个对象的引用计数降为零时,运行时系统会自动调用该对象的 de
-
9天前
0
|