XML可扩展标记语言
XML的全称为可扩展标记语言(即Extensible Markup Language),它是W3C定义的一种标准。那么为什么会出现XML?其优势到底在哪里呢?
必知必会:XML与HTML相比的优势
相信读者对HTML都非常熟悉,HTML是一种标记语言,同时,HTML里面有很多标签,类似<head>、<table>等,都是在HTML 4.0里规定的,但是随着互联网技术的日益发展,HTML本身存在的很多缺陷也日益显现出来,例如,数据内容和页面的排版、显示控制等混在一起,导致页面过度膨胀。数据库存储的信息,经过动态编程语言的解释执行被转换为HTML文档格式后,信息原有的格式已经变得面目全非,这给前台页面的设计者及后台系统的程序开发人员带来许多麻烦,这些都使得原有的HTML阻碍了互联网的快速发展。
XML可以将数据的内容与控制数据显示效果的格式清晰的分开,同时XML之所以称为可扩展的标记语言,是因为在XML中允许开发人员自行创建所需要的标签,正是因为XML的这一特点,我们可以借助自定义标记的方式分层次清晰的表达出数据之间的关系,所以有人也将XML文档称为“流动的数据岛”文件。
在本书第一个有关Ajax的例子中,我们就是采用了XML格式的数据进行响应,然后在浏览器客户端方便地进行解析,获取指定位置指定层次的数据,这种方式便于数据的传递,也便于在传递过程中很好地保存数据与数据之间的层次关系。例如:在本书第二章的案例中对应XML格式的数据如下所示。
如果身份验证通过,则返回的数据格式为:
<response>
<res热烈的欢迎您</res>
</response>
如果身份验证未通过,则返回的数据格式为:
<response>
<res>对不起,登录失败!</res>
</response>
注意,在对XML文件进行数据解析时,对应的结点名称,即对应标记的名称就显得至关重要。例如:第二章案例2-2中最终在Ajax中获取返回的响应数据的语句如下:
// 处理返回信息函数
function processResponse() {
if (XMLHttpReq.readyState == 4) { // 判断对象状态
if (XMLHttpReq.status == 200) { // 信息已经成功返回,开始处理信息
var res=XMLHttpReq.responseXML.getElementsByTagName("res")[0].first Child.data;
window.alert(res);
} else { //页面不正常
window.alert("您所请求的页面有异常。");
}
}
}