Chinaunix首页 | 论坛 | 博客
  • 博客访问: 314196
  • 博文数量: 60
  • 博客积分: 2781
  • 博客等级: 少校
  • 技术积分: 600
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-23 16:42
文章分类

全部博文(60)

文章存档

2011年(33)

2010年(27)

分类: 系统运维

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+"Everyday Italian";
txt=txt+"Giada De Laurentiis";
txt=txt+"2005";
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);
}

阅读(1297) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~