全部博文(60)
分类: 系统运维
2010-06-19 23:03:29
XML,可扩展标记语言,同HTML是相互独立的,作为HTML的补充,而不能替代HTML。
两者的用途不同,XML设计用来传输和存储数据(transport and store data),而HTML是用来展现数据(display data)。
XML的标签不是预定义的(predefined),而是由作者定义;HTML的标签是预定义的,而且符合W3C标准,必须按照标准的定义。
XML作为传输和存储数据的方法,是在应用程序间传递数据使用最广泛的技术,单单是一个文件,所以它需要额外的程序去解析操作。
XML文件输出的样式通常采用XSLT,而不是CSS,XSLT比CSS复杂的多。XSLT能够将XML文档转换成HTML文档。
XML coding rules:
XML documents must have a root element(必须有根元素)
XML elements must have a closing tag(标签必须开闭成对)
XML tags are case sensitive(标签区分大小写)
XML elements must be properly nested(元素必须正确顺序叠加)
XML attribute values must be quoted(属性必须引号括起来)
XML HTTP Request 特点:
Update a web page without reloading the page(更新页面,不需要重新载入)
Request data from a server after the page has loaded(页面载入后,仍然可以向服务器请求数据)
Receive data from a server after the page has loaded(页面载入后,仍然可以从服务器端接收数据)
Send data to a server in the background(向服务器端发送数据,背后做的事情,比如说,google suggest)
注:Ajax是异步js和xml,个人理解分3层,前台HTML,中间层js,后台server,js发送请求XMLHttpRequest给server,然后server返回response给js。发送请求的函数有open(),send(),返回的结果是:responseText,responseXML两种形式。
XML Parser:
现在的高级浏览器都以内置XML Parser功能。目的是将XML Document转换成XML DOM。
将Document转换成DOM:
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","books.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
将XML String转换成DOM:
txt="
txt=txt+"
txt=txt+"
txt=txt+"
txt=txt+"
if (window.DOMParser)
{
parser=new DOMParser();
xmlDoc=parser.parseFromString(txt,"text/xml");
}
else // Internet Explorer
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.loadXML(txt);
}