zoukankan      html  css  js  c++  java
  • jQuery XML to JSON Plugin

    jQuery XML to JSON Plugin插件是通过用js代码实现将xml文件转换为json格式的数据,方便读取,特别是用ajax读取xml后,对返回的接送格式进行操作非常方便。

    例如:

    <xml> 
    <site>javachen.com</site> 
    </xml>
    通过jQuery XML to JSON Plugin可以将上面的xml转换为一下json格式:
    { 
       site: 'javachen.com'; 
    }

    插件使用方法:

    var xml = '<xml><site>javachen.com</site></xml>'; 
    var json = $.xml2json(xml); 
    alert(json.site);$.get('data/hello.xml', function(xml){
    var json = $.xml2json(xml); 
    alert(json.site); 
    });

    插件下载地址:
    jQuery XML to JSON Plugin

    插件作者:

    http://www.fyneworks.com/

    使用该插件最主要的是$.xml2json方法,该方法有两个参数:(xmlfile,boolean),第二个参数可有可无,但有和无时候的含义不同用法也不同。

    无第二个参数时候,例子如下:
    下面xml文件地址为:
    (data/animals.xml)

    <?xml version="1.0" encoding="utf-8"?> 
    <animals> 
    <dog color='Black'> 
    <name>Rufus</name> 
    <breed>labrador</breed> 
    </dog> 
    <dog breed='whippet'> 
    Adopted 
    <name>Marty</name> 
    </dog> 
    <cat color="White"> 
    <name>Matilda</name> 
    </cat> 
    </animals>

    读取xml文件方法:

    $.get('data/animals.xml', function(xml){ 
    var animals = $.xml2json(xml); 
    alert(animals.dog[1].name +'/'+ animals.dog[1]); 
    });

    In simple mode, the plugin will only use arrays and objects when necessary. It also means you don’t have to use .text (or .nodeValue) to retrieve the text of each node.

    Resulting JSON object:

    { 
    dog:[ 
    { name:'Rufus', breed:'labrador', color:'Black' }, 
    { text:'Adopted', name:'Marty', breed:'whippet' } 
    ], 
    cat:{ name:'Matilda', color:'White'} 
    }
    
    

    Accessing the data

    animals.dog === '{Array}'; 
    animals.dog[0] === '{Object}'; // No text in node 
    animals.dog[0].name === 'Rufus'; 
    animals.dog[0].color === 'Black';// from attribute 
    animals.dog[0].breed === 'labrador'; 
    animals.dog[1] === 'Adopted'; // text in node (animals.dog[1].text) 
    animals.dog[1].name === 'Marty'; 
    animals.dog[1].breed === 'whippet'; 
    animals.cat === '{Object}'; // only 1 cat, array not required 
    animals.cat.name === 'Matilda'; 
    animals.cat.color === 'White';

    在这种情况下,该插件将xml按照父子节点,将其解析问包含数组和对象的json对象,数组里又包含有对象!

    有第二个参数的情况:

    $.get('data/animals.xml', function(xml){ 
    var animals = $.xml2json(xml, true); 
    alert(animals.dog[1].name[0].text +'/'+ animals.dog[1].text); 
    });

    In extended mode, the plugin converts each and every node into an array.
    在这种情况下,该插件将每一个几点转换为个数组!
    如下:

    Resulting JSON object

    { 
    dog:[ 
    { name:['Rufus'], breed:['labrador'], color:'Black' }, 
    { text:'Adopted', name:['Marty'], breed:'whippet' } 
    ], 
    cat:[ 
    { name:'Matilda', color:'White'} 
    ] 
    }

    Accessing the data:

    animals.dog === '{Array}'; 
    animals.dog[0] === '{Object}'; // No text in node 
    animals.dog[0].name[0].text === 'Rufus'; 
    animals.dog[0].color[0].text === 'Black';// from attribute 
    animals.dog[0].breed[0].text === 'labrador'; 
    animals.dog[1] === '{Object}'; // node text stored in '.text' 
    animals.dog[1].text === 'Adopted'; // not available in animals.dog[1] 
    animals.dog[1].name[0].text === 'Marty'; 
    animals.dog[1].breed[0].text === 'whippet'; 
    animals.cat === '{Array}'; 
    animals.cat[0] === '{Object}'; 
    animals.cat[0].name[0].text === 'Matilda'; 
    animals.cat[0].color[0].text === 'White';
  • 相关阅读:
    ABP分层架构
    Quartz.Net任务统一调度框架
    Repository模式
    配置文件
    AspNet.WebAPI.OData.ODataPQ
    log4j+logback+slf4j+commons-logging的关系与调试(转)
    Log4jdbc demo
    如何有效地记录 Java SQL 日志(转)
    不要说自己没什么兴趣,也不要说自己兴趣很广泛,最好能具体到哪个方面,顺便提一下你最近看的一本该方面的书,有什么收获(转)
    前端是Sencha Touch+ Cordova(转)
  • 原文地址:https://www.cnblogs.com/fx2008/p/2297732.html
Copyright © 2011-2022 走看看