该插件有两个方法:
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));//继续反射,看看里面有什么
});
})
是不是很简单啊,快试试吧。
分享到:
相关推荐
关于jq读取xml的,有需要的朋友可以下载。
在IT领域,尤其是在Web开发中,"JQuery 解析XML省市区县三级联动"是一个常见的需求,主要用于构建交互式的下拉菜单,使得用户在选择省份时,对应的市和县会根据所选省份动态加载。这样的功能可以提升用户体验,减少...
通过这个简单的 jQuery 和 XML 操作示例,我们了解了如何使用 jQuery 的 `$.ajax()` 函数加载 XML 文件,以及如何使用 jQuery 的选择器和方法来解析和显示 XML 数据。在实际应用中,可以根据需求进行更复杂的数据...
本主题将探讨如何利用jQuery解析XML文件,进而实现省市县三级联动的下拉框效果,这是一种常见的地理数据展示方式,常用于地址选择或者物流配送等场景。 首先,XML(Extensible Markup Language)是一种用于存储和...
本篇文章将深入探讨如何使用jQuery来加载和解析XML数据,这是一种常见用于传输和存储结构化数据的方式。 首先,我们需要理解XML(Extensible Markup Language)。XML是一种标记语言,允许我们创建自定义的标签来...
本主题将深入探讨如何使用jQuery解析XML数据,并利用这些数据实现省市二级联动的效果。这种功能常见于地理选择,用户在选择省份后,下拉菜单会自动更新展示对应省份的城市选项。 首先,我们需要理解XML(Extensible...
标题中的“轻松使用jQuery解析XML”意味着我们将探讨如何利用JavaScript库jQuery处理XML文档,以便在Web应用程序中方便地获取和操作数据。XML(可扩展标记语言)是一种结构化数据格式,常用于存储和传输数据。jQuery...
### jQuery解析XML:深入理解与应用 在Web开发中,数据的处理与展现是至关重要的环节,而XML(可扩展标记语言)作为一种广泛使用的数据交换格式,其在数据存储、传输以及解析方面扮演着重要角色。jQuery,作为一款...
jquery插件库(jquery.treeview插件库)jquery插件库(jquery.treeview插件库)jquery插件库(jquery.treeview插件库)jquery插件库(jquery.treeview插件库)jquery插件库(jquery.treeview插件库)jquery插件库(jquery....
**jQuery 实现XML树形菜单**\n\n在网页开发中,树形菜单是一种常见的交互元素,用于组织和展示层次化的信息。jQuery 是一个广泛使用的JavaScript库,它提供了丰富的API来简化DOM操作,使得实现这样的功能变得更加...
本文将深入探讨如何使用jQuery解析XML(eXtensible Markup Language)文件,这是一种结构化数据存储格式,常用于数据交换和网页应用程序。 首先,我们需要了解jQuery的核心功能之一——`$.ajax()`方法,它是进行...
在jQuery的基础上,`jquery.json2xml.js` 和 `jquery.xml2json.js` 这两个脚本提供了方便的方法来在JSON和XML之间进行转换,从而让开发者无需深入了解这两种格式的复杂性,就能轻松地在它们之间进行数据互换。...
通过`jQuery.parseXML()`解析XML字符串,使用`find()`和`each()`遍历节点,结合XPath或`$.ajax()`获取服务器上的XML,以及有效地处理错误,你可以轻松地构建功能丰富的XML应用程序。在实际项目中,根据具体需求选择...
随着jQuery库的普及,利用jQuery来解析XML文件变得简单易行。本文将详细介绍如何使用jQuery来解析XML文件,并通过一个具体例子进行说明。 首先,我们需要了解XML文件的基本结构。XML(Extensible Markup Language,...
jquery.xmlns-1.7.0.js 是根据jquery.xmlns.js改写的适用于各种版本的jquery解析带命名空间的XML数据,里面附有实例代码,如果使用中有遇到问题,可以反馈,我会进一步改进。
jQuery xml-to-json插件是一种用于将XML数据转换为JavaScript Object Notation (JSON)格式的工具。在Web开发中,XML和JSON都是常见的数据交换格式,但它们有着不同的应用场景和优势。XML(Extensible Markup ...
JQuery解析XML数据的几个简单实例中,JQuery是JavaScript的一个库,它简化了JavaScript编程。在处理XML数据方面,JQuery提供了一套非常便捷的方法来解析和操作XML文档。XML是“可扩展标记语言”(Extensible Markup ...
jquery.xmleditor 基于Web浏览器的XML编辑器。 它提供了一种通用的图形工具,用于在Web浏览器中创建新的或修改现有的XML文档。 信息是从XML模式(XSD文件)中提取的,以向用户提供有关在结构中不同点上可以使用哪些...
而“jQuery的车牌插件”是这个库的一个扩展,专门针对车牌号码输入场景进行优化,提供了更加友好和高效的用户体验。 这款基于jQuery的车牌输入插件设计目标是让用户在网页上输入车牌号码时,能够享受到如同原生应用...
本文实例总结了JQuery解析XML的方法。分享给大家供大家参考,具体如下: 用JavaScript解析XML数据是常见的编程任务,JavaScript能做的,JQuery当然也能做。下面我们来总结几个使用JQuery解析XML的例子。 第一种方案...