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';
  • 相关阅读:
    和至少为 K 的最短子数组
    使用VS code编写C++无法实时检测代码的解决办法
    anaconda安装VSCODE后,python报错
    神经网络中sigmod函数和tanh函数的区别
    获取本机IP
    windows C++捕获CMD命令输出
    windows下面生成 dump
    windows 控制台命令输出 捕获
    不使用PEM 文件建立SSL通道
    OpenSSL socket 服务端
  • 原文地址:https://www.cnblogs.com/fx2008/p/2297732.html
Copyright © 2011-2022 走看看