美文网首页
xml vs json

xml vs json

作者: 简栋梁 | 来源:发表于2019-01-15 00:48 被阅读0次

    一、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

    相关文章

      网友评论

          本文标题:xml vs json

          本文链接:https://www.haomeiwen.com/subject/ymnbrqtx.html