`
aleelock
  • 浏览: 18151 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

z4x,jquery解析xml插件,很好用哦

阅读更多

z4x,本来打算单独写的,不过jquery的用户实在是很多,就搭搭这个顺风车吧,改造成jquery解析xml插件,用过的同事都说很好用哦。顺便加上一个反射方法。

 

     该插件有两个方法:

     1). z4x 解析xml并转化为json对象。

     2). 反射方法,可以反射json对象。

 

 

0. jquery.z4x.js 源码:

 

$.extend({
    z4x: function(s) {
        var dom;
        if (typeof(s) == "object") {
            dom = s;
        } else if (typeof(s) == "string") {
            if (window.ActiveXObject) {
                dom = new ActiveXObject("Microsoft.XmlDom");
                dom.async = "false";
                dom.loadXML(s);
            } else {
                dom = new DOMParser().parseFromString(s, "text/xml");
            }
        }
        var _dig = function(ele) {
            var oo = {};
            var alen = (ele.attributes) ? ele.attributes.length: 0;
            for (var i = 0; i < alen; i++) {
                oo["$" + ele.attributes[i].name] = ele.attributes[i].value;
            }

            var elen = ele.childNodes.length;
            if (elen == 0) return oo;

            var tem;
            for (var i = 0; i < elen; i++) {
                tem = oo[ele.childNodes[i].nodeName];

                if (typeof(tem) == "undefined") {

                    if (ele.childNodes[i].childNodes.length == 0) {

                        if (ele.childNodes[i].nodeName == "#text" || ele.childNodes[i].nodeName == "#cdata-section") {
                            oo["$$"] = ele.childNodes[i].nodeValue;
                        } else {
                            oo[ele.childNodes[i].nodeName] = [_dig(ele.childNodes[i])];
                        }

                    } else {
                        oo[ele.childNodes[i].nodeName] = [_dig(ele.childNodes[i])];
                    }
                } else {
                    tem[tem.length] = _dig(ele.childNodes[i]);
                    oo[ele.childNodes[i].nodeName] = tem;
                }
            }
            return oo;
        };

        var oo = {};
        oo[dom.documentElement.nodeName] = _dig(dom.documentElement);
        return oo;
    },
    ref : function(o,sp)
    {
        sp = sp?sp:"\n";
        var tem = [];
        for(var i in o) tem[tem.length]=i+":"+o[i];
        return tem.join(sp);
    }
});

 使用举例:

    1. a.xml

  

<?xml version="1.0" encoding="utf-8"?>
<root>
    <a id="t1" desc="just test">abc</a>
    <b id="t2"><![CDATA[
        <c>test</c>
    ]]></b>
</root>

   2. 调用

   

$(function(){
    $.get("a.xml",function(data){
        var json = $.z4x(data);//只需一步,即可变成json.
        alert($.ref(json));//反射json

        //alert($.ref(json.root));//继续反射,看看里面有什么
  });
})

 

是不是很简单啊,快试试吧。

 

 

0
0
分享到:
评论

相关推荐

    BCM94360Z4_Z3 Drivers Windows 驱动

    BCM94360Z4_Z3 Drivers_Win10_x64文件是为了兼容64位Windows 10系统而设计的,确保在最新的操作系统环境下运行无误。驱动程序通常包含了硬件识别、初始化、配置以及控制所需的所有代码,是操作系统与硬件之间的重要...

    Z4ROOT Z4ROOT 一键ROOT工具

    Z4ROOT 一键ROOT工具

    Z4Root v1.4

    Z4Root v1.4

    jQuery easyUI 1.4.2

    jQuery easyUI 1.4.2,非常好用的页面布局,提供了很多强大功能,适合小型项目。

    z4root一键ROOT工具_1.2.2

    Galaxy 3 I5800、Droid X、Samsung Acclaim、Cricket Huawei Ascend、Motorola Cliq、Huawei 8120、Hero Optimus T、Droid 1 (z4root 1.2.1)、Garmin Asus A50 更新日志 - 修复一些BUG - 添加了广告(已去除)

    BMW宝马z4汽车使用手册用户说明书pdf电子版下载.pdf

    宝马Z4是一款由德国宝马汽车公司制造的双座跑车。在本用户手册中,您将找到关于如何驾驶和操作该车的详细指南,包括车辆的各个功能和系统的介绍。用户手册内容全面,涵盖了从基本信息到技术参数,再到故障排除的各个...

    Z4root管理工具

    Z4root是一款知名的安卓设备root工具,主要用于帮助用户获取手机的超级用户权限。在安卓系统中,root权限意味着用户可以访问并修改系统级别的文件,执行更深层次的操作,比如卸载预装应用、优化系统性能、自定义ROM...

    斑马Z4M打印说明书

    《斑马Z4M打印机使用指南详析》 一、斑马Z4M打印机概览 斑马Z4M打印机,作为斑马科技(Zebra Technologies Corporation)旗下的一款高性能条形码打印机,专为满足商业及工业环境中高负荷打印需求而设计。其卓越的...

    Z4M-W40RA_e.pdf

    根据提供的文件内容,我们可以分析出以下关于Z4M-W40RA_e.pdf文件的知识点: 1. 产品系列介绍:文档中提到的产品系列名为Z4M-W40RA_e,属于Z4M系列激光位移传感器的范畴。这种传感器采用了易于操作的可见光源,具有...

    com.z4mod.z4root.apk

    部分安卓手机越狱软件,直接安装使用,针对部分第三方rom支持较好,官方rom成功率不高

    宝马Z4整车UG图

    宝马Z4的UG图纸,是整车的图纸,做得还比较细致!

    z4 root权限

    z4 root权限

    宝马Z4建模经验分享

    以上是对宝马Z4建模过程中的关键步骤和技术的详细解析,这些技术同样适用于其他汽车建模项目,有助于提升建模效率和质量。在实际操作中,灵活运用各种工具和命令,结合个人经验和技巧,可以创造出更精细的三维模型。

    傻瓜式一键z4root、root explorer软件

    2.下载并安装z4root、root explorer。3.先打开USb调试模式运行z4root再运行root explorer。运行z4root后会出现一个骷髅头图标(busybox)此图标以后用来管理对上述程序的root权限。4.点击打开骷髅头图标,程序打开后会...

    z4root优化版

    z4root的apk文件,我用这个成功root了我的手机;与大家分享一下下!

    一键ROOT工具z4root_v1.3.0汉化版

    一键ROOT工具z4root_v1.3.0汉化版

    一键Z4root

    Z4root,一键ROOT。针对安卓系统的一键ROOT软件,可以临时ROOT或者永久ROOT。安装后需要下载软件赚积分,才能运行。

    z4root1.3.0_liqucn.apk

    z4root1.3.0_liqucn.apk

    安卓一键root工具z4root源代码

    android平台上的一键root工具,z4root全部源代码。

Global site tag (gtag.js) - Google Analytics