一、xml
1、定义
xml是一种用于存储、传输数据的结构文件,具备html的标签化,也有json的功能。
2、重点特性
(1)单一树结构,只有一个根节点。
(2)大小写敏感。
(3)标签内,空格不会被压缩。
(4)自定义标签名。
(5)尽量以纯元素形式展示数据,少加属性。
(6)必须有关闭标签。
(7)可以设置命名空间,以区别两个根标签同名的xml。
3、组成
(1)头部:<?xml version="1.0" encoding="UTF-8"?>
(2)主体:一个根元素衍生的DOM结构(自定义标签)
4、传输结果为一个document(DOM树)
5、解析方式
(1)DOM(传统);
(2)DOM4J(DOM之上的封装运用);
(3)SAX(用于大文件传输,边读边解析,防止缓存多到爆内存)。
6、渲染xml数据的流程
(1)获取xml(文档 / 字符串)
(2)xml转成dom对象
解析xml文档
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字符串
txt="<bookstore><book>";
txt=txt+"<title>Everyday Italian</title>";
txt=txt+"<author>Giada De Laurentiis</author>";
txt=txt+"<year>2005</year>";
txt=txt+"</book></bookstore>";
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);
}
(3)操作dom,获取值,按需赋值到html的dom节点上
二、json
1、定义
数据存储、类似对象组成的字符串。
2、对象与json字符串的转换
(1)JSON.parse(str)——将json转为对象
(2)JSON.stringify(obj)——将对象转为json
3、常见问题
IE8-不支持原生JSON.parse()问题,用json2.js插件之后,自然解决。
三、总结
1、xml vs html
(1)xml——存储、传输数据
(2)html——显示数据
PS:不要将xml、html混为一谈。
2、xml vs json
(1)xml——可读性强、功能强大
(2)json——体积小、速度快、操作方便
PS:根据用户体验至上原则,json胜出。
详细博文:https://www.cnblogs.com/SanMaoSpace/p/3139186.html
网友评论