`

jquery解析xml插件z4x

 
阅读更多

 

该插件有两个方法:

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

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

 

 

 

 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));//继续反射,看看里面有什么  
  });  
})  

 

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

 

 

 

分享到:
评论

相关推荐

    jQuery 解析xml文件

    关于jq读取xml的,有需要的朋友可以下载。

    JQuery 解析XML省 市 县 三级联动

    在IT领域,尤其是在Web开发中,"JQuery 解析XML省市区县三级联动"是一个常见的需求,主要用于构建交互式的下拉菜单,使得用户在选择省份时,对应的市和县会根据所选省份动态加载。这样的功能可以提升用户体验,减少...

    Jquery操作xml_Demo

    通过这个简单的 jQuery 和 XML 操作示例,我们了解了如何使用 jQuery 的 `$.ajax()` 函数加载 XML 文件,以及如何使用 jQuery 的选择器和方法来解析和显示 XML 数据。在实际应用中,可以根据需求进行更复杂的数据...

    jQuery解析xml文件,实现省市县三级联动下拉框

    本主题将探讨如何利用jQuery解析XML文件,进而实现省市县三级联动的下拉框效果,这是一种常见的地理数据展示方式,常用于地址选择或者物流配送等场景。 首先,XML(Extensible Markup Language)是一种用于存储和...

    jQuery加载并解析XML

    本篇文章将深入探讨如何使用jQuery来加载和解析XML数据,这是一种常见用于传输和存储结构化数据的方式。 首先,我们需要理解XML(Extensible Markup Language)。XML是一种标记语言,允许我们创建自定义的标签来...

    jquery解析xml并实现二级联动

    本主题将深入探讨如何使用jQuery解析XML数据,并利用这些数据实现省市二级联动的效果。这种功能常见于地理选择,用户在选择省份后,下拉菜单会自动更新展示对应省份的城市选项。 首先,我们需要理解XML(Extensible...

    轻松使用jquery解析XML

    标题中的“轻松使用jQuery解析XML”意味着我们将探讨如何利用JavaScript库jQuery处理XML文档,以便在Web应用程序中方便地获取和操作数据。XML(可扩展标记语言)是一种结构化数据格式,常用于存储和传输数据。jQuery...

    jquery解析xml

    ### jQuery解析XML:深入理解与应用 在Web开发中,数据的处理与展现是至关重要的环节,而XML(可扩展标记语言)作为一种广泛使用的数据交换格式,其在数据存储、传输以及解析方面扮演着重要角色。jQuery,作为一款...

    jquery插件库(jquery.treeview插件库)

    jquery插件库(jquery.treeview插件库)jquery插件库(jquery.treeview插件库)jquery插件库(jquery.treeview插件库)jquery插件库(jquery.treeview插件库)jquery插件库(jquery.treeview插件库)jquery插件库(jquery....

    JQuery 实现XML树形菜单

    **jQuery 实现XML树形菜单**\n\n在网页开发中,树形菜单是一种常见的交互元素,用于组织和展示层次化的信息。jQuery 是一个广泛使用的JavaScript库,它提供了丰富的API来简化DOM操作,使得实现这样的功能变得更加...

    jquery 解析xml的简单例子

    本文将深入探讨如何使用jQuery解析XML(eXtensible Markup Language)文件,这是一种结构化数据存储格式,常用于数据交换和网页应用程序。 首先,我们需要了解jQuery的核心功能之一——`$.ajax()`方法,它是进行...

    jquery.json2xml.js和jquery.xml2json.js

    在jQuery的基础上,`jquery.json2xml.js` 和 `jquery.xml2json.js` 这两个脚本提供了方便的方法来在JSON和XML之间进行转换,从而让开发者无需深入了解这两种格式的复杂性,就能轻松地在它们之间进行数据互换。...

    jquery读取xml

    通过`jQuery.parseXML()`解析XML字符串,使用`find()`和`each()`遍历节点,结合XPath或`$.ajax()`获取服务器上的XML,以及有效地处理错误,你可以轻松地构建功能丰富的XML应用程序。在实际项目中,根据具体需求选择...

    使用jquery解析XML的方法

    随着jQuery库的普及,利用jQuery来解析XML文件变得简单易行。本文将详细介绍如何使用jQuery来解析XML文件,并通过一个具体例子进行说明。 首先,我们需要了解XML文件的基本结构。XML(Extensible Markup Language,...

    jquery解析带名称空间的xml

    jquery.xmlns-1.7.0.js 是根据jquery.xmlns.js改写的适用于各种版本的jquery解析带命名空间的XML数据,里面附有实例代码,如果使用中有遇到问题,可以反馈,我会进一步改进。

    jQuery xml-to-json xml转JSON插件

    jQuery xml-to-json插件是一种用于将XML数据转换为JavaScript Object Notation (JSON)格式的工具。在Web开发中,XML和JSON都是常见的数据交换格式,但它们有着不同的应用场景和优势。XML(Extensible Markup ...

    JQuery解析XML数据的几个简单实例

    JQuery解析XML数据的几个简单实例中,JQuery是JavaScript的一个库,它简化了JavaScript编程。在处理XML数据方面,JQuery提供了一套非常便捷的方法来解析和操作XML文档。XML是“可扩展标记语言”(Extensible Markup ...

    jquery.xmleditor:基于jQuery的XML编辑器插件

    jquery.xmleditor 基于Web浏览器的XML编辑器。 它提供了一种通用的图形工具,用于在Web浏览器中创建新的或修改现有的XML文档。 信息是从XML模式(XSD文件)中提取的,以向用户提供有关在结构中不同点上可以使用哪些...

    jQuery的车牌插件

    而“jQuery的车牌插件”是这个库的一个扩展,专门针对车牌号码输入场景进行优化,提供了更加友好和高效的用户体验。 这款基于jQuery的车牌输入插件设计目标是让用户在网页上输入车牌号码时,能够享受到如同原生应用...

    JQuery解析XML的方法小结

    本文实例总结了JQuery解析XML的方法。分享给大家供大家参考,具体如下: 用JavaScript解析XML数据是常见的编程任务,JavaScript能做的,JQuery当然也能做。下面我们来总结几个使用JQuery解析XML的例子。 第一种方案...

Global site tag (gtag.js) - Google Analytics