一个实用的 Javascript XML to JSON Object 对象的转换 (JQuery)

JQuery easyUI框架(一)—Json传值 JQuery EasyUI是一组基于jQuery的UI插件集合体,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。开发者不需要编写复杂的javascript,也不需要对css样式有深入的了解,开发者需要了解的只有一些简单的html标签。     easyUI一般通过Json串与后台进行交互,下面具体介绍怎样使用Json。 一、Json JS 阅读详情
一个实用的 Javascript XML to JSON  Object 对象的转换 (JQuery)

一个用来将xml文件转换成对象的插件

xml文件如下
<?xml version="1.0" encoding="UTF-8" ?>
<root>
<content>
  <plugins>TreeView</plugins>
  <plugins>ListGrid</plugins>
  <plugins>ListBox</plugins>
</content>
<pool>1</pool>
</root>

生成的对象为:



调用

var xml = $.loadXML("PluginConf.xml");
var obj = $(xml).toObject().get(0);
alert(obj.pool);

以下是 源码下载

/* *
 * 转换xml为对象形式
 * @return {Object}
 * @param {XMLHttpRequest} elXML
 
*/
$.fn.toObject 
=   function  (){
    
if  ( this == null )  return   null ;
    
var  retObj  =   new  Object;
    buildObjectNode(retObj,
/* jQuery */ this .get( 0 ));
    
return  $(retObj);
    
function  buildObjectNode(cycleOBJ, /* Element */ elNode){
        
/* NamedNodeMap */
        
var  nodeAttr = elNode.attributes;
        
if (nodeAttr  !=   null ){
            
if  (nodeAttr.length && cycleOBJ == null ) cycleOBJ = new  Object; 
            
for ( var  i = 0 ;i < nodeAttr.length;i ++ ){
                cycleOBJ[nodeAttr[i].name]
= nodeAttr[i].value;
            }
        }
        
var  nodeText = " text " ;
        
if  (elNode.text == null ) nodeText = " textContent " ;
        
/* NodeList */
        
var  nodeChilds = elNode.childNodes;
        
if (nodeChilds != null ){
            
if  (nodeChilds.length && cycleOBJ == null ) cycleOBJ = new  Object; 
            
for ( var  i = 0 ;i < nodeChilds.length;i ++ ){
                
if  (nodeChilds[i].tagName != null ){
                    
if  (nodeChilds[i].childNodes[ 0 ] != null && nodeChilds[i].childNodes.length <= 1 && (nodeChilds[i].childNodes[ 0 ].nodeType == 3 || nodeChilds[i].childNodes[ 0 ].nodeType == 4 )){
                        
if  (cycleOBJ[nodeChilds[i].tagName] == null ){
                            cycleOBJ[nodeChilds[i].tagName]
= nodeChilds[i][nodeText];
                        }
else {
                            
if  ( typeof (cycleOBJ[nodeChilds[i].tagName]) == " object " && cycleOBJ[nodeChilds[i].tagName].length){
                                cycleOBJ[nodeChilds[i].tagName][cycleOBJ[nodeChilds[i].tagName].length]
= nodeChilds[i][nodeText];
                            }
else {
                                cycleOBJ[nodeChilds[i].tagName]
= [cycleOBJ[nodeChilds[i].tagName]];
                                cycleOBJ[nodeChilds[i].tagName][
1 ] = nodeChilds[i][nodeText];
                            }
                        }
                    }
else {
                        
if  (nodeChilds[i].childNodes.length){
                            
if  (cycleOBJ[nodeChilds[i].tagName] == null ){
                                cycleOBJ[nodeChilds[i].tagName]
= new  Object;
                                buildObjectNode(cycleOBJ[nodeChilds[i].tagName],nodeChilds[i]);
                            }
else {
                                
if  (cycleOBJ[nodeChilds[i].tagName].length){
                                    cycleOBJ[nodeChilds[i].tagName][cycleOBJ[nodeChilds[i].tagName].length]
= new  Object;
                                    buildObjectNode(cycleOBJ[nodeChilds[i].tagName][cycleOBJ[nodeChilds[i].tagName].length
- 1 ],nodeChilds[i]);
                                }
else {
                                    cycleOBJ[nodeChilds[i].tagName]
= [cycleOBJ[nodeChilds[i].tagName]];
                                    cycleOBJ[nodeChilds[i].tagName][
1 ] = new  Object;
                                    buildObjectNode(cycleOBJ[nodeChilds[i].tagName][
1 ],nodeChilds[i]);
                                }
                            }
                        }
else {
                            cycleOBJ[nodeChilds[i].tagName]
= nodeChilds[i][nodeText];
                        }
                    }
                }
            }
        }
    }
}

/* *
 * @return {Element}
 * @param {String} _url
 
*/
$.loadXML 
=   function  (_url){
    
var  ret;
    $.ajax({
          type:
" get " ,
          url:_url,
        async:
false ,
          dataType:
" xml " ,
        success:
function (xml){
            ret 
=  xml;
        }
      });
    
return  ret.documentElement;
}

jQuery插件-JSON与XML互转 支持XML转json; var mySoapXml ='<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" '+ 'xmlns:xsd="http://www.w3.org/2001/XMLSchema" '+ 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">'+ '<soap:Bodyxmlns:lee="http://lee/">' + '<lee:sayHello/>' + '</soap:Body>' + '</soap:Envelope>'; var json=$.xml2json(mySoapXml); 立即下载

相关推荐

Android 白名单保活实战:主流厂商适配指南

本文详细解析了Android应用白名单保活的实战策略,重点针对华为、小米、OPPO、vivo等主流厂商的系统特性,提供了精准的后台设置页面跳转适配方案。文章从基础的前台服务实现讲起,深入讲解了白名单的判断、申请与厂商适配的核心代码与避坑指南,旨在帮助开发者合规、稳定地提升应用后台存活率。

motor的博客 1861

一个实用的 Javascript XML to JSON Object 对象的转换 (JQuery)

一个用来将xml文件转换成对象的插件xml文件如下TreeViewListGridListBox1生成的对象为:调用var xml = $.loadXML("PluginConf.xml");var obj = $(xml).toObject().get(0);alert(obj.pool);以下是源码下载

毛毛的狗窝 2592

FPGA从入门到精通(2) - LUT

LUT:(look up table) 查找表 今天我要讲的与FPGA CLB相关的第一节LUT。根据上一节课的课程大纲,讲CLB应该是讲SLICEL(SLICEM)。不过当我打开用户手册,看了一下SLICE的结构(图一),一眼望去,这是分分钟会劝退入门者。为了让读者更好的接受以及理解,所以我打算先讲清楚它里面的每一个基本单元(LUT, 进位链,MUX,寄存器,几乎所有的FPGA器件的SLICE都是这四大件组成,只是组合不太一样而已),然后再将他们联系在一起,和读者一步步推倒出SLICE的结构。 图1​

Jasper灬兰的博客 1万+

转换XML到Object----XMLToObject

这是WebService的解析响应数据类,负责转换xml到object,解析的结果可以按照访问object/array的方式访问. //读取rss的例子 http://www.roading.net/as3/readfeed.swfimport net.roading.*;import net.roading.data.*;import net.roading.skin.*;import ne...

hereson 483

CESM2 实验笔记

文章目录1. 重新启动1.1 关于重启文件2. RUN_TYPE 初始化运行方式startupbranchhybrid3. branch 或者 hybrid运行的示例4. 其他声明5. 关于RESUBMIT 1. 重新启动 参考: https://bb.cgd.ucar.edu/cesm/threads/how-to-restart-cesm2-1-3-fhist-from-a-backup.5245/#post-36275 适用情况:模型运行因时间不足或其它原因中断,需要继续运行 方法1:将CONTIN

qq_38607066的博客 1万+

WPS Office 2026免费安装指南:AI办公与安全使用全解析

办公软件作为数字化办公的核心工具,其基本原理是通过文档处理、数据计算和演示展示等功能模块满足用户日常办公需求。随着人工智能技术的发展,现代办公软件逐步集成AI能力,通过自然语言处理和数据分析算法提升工作效率。在技术价值层面,优秀的办公软件不仅需要保持格式兼容性和跨平台同步能力,更要注重用户数据安全防护。从应用场景来看,无论是个人文档编辑、企业报表分析还是团队协作演示,办公软件都发挥着关键作用。WPS Office 2026作为国产办公软件代表,深度融合AI助手功能,支持智能写作和数据分析,同时通过官方免费策

weixin_30599769的博客 720

JS操作xml对象转换为Json对象

最近在处理一个前端功能的时候,遇到了一个问题,原本的系统是使用的xml来存储数据的,而在新的系统上,想要转换为json对象存储,于是就考虑到直接将xml对象转换为json对象。 目前为止,通用的转换方式我还没有找到,只有根据已知的xml对象结构来使用for循环不断地赋值。 1 var xml = ······;//获取xml对象 2 var objList = []; 3 for...

weixin_30379911的博客 246

基于LightGBM和多模型融合的量化交易研究:沪深300为例【附代码】

📊 数据科学与大数据专业 | 数据分析与模型构建 | 数据驱动决策✨ 专业领域:数据挖掘与清洗大数据处理与存储技术机器学习与深度学习模型数据可视化与报告生成分布式计算与云计算数据安全与隐私保护💡 擅长工具:Python/R/Matlab 数据分析与建模Hadoop/Spark 大数据处理平台SQL数据库管理与优化Tableau/Power BI 数据可视化工具TensorFlow/PyTorch 深度学习框架✅数据科学与大数据技术毕业论文【数据】

lagougongzuoshi的博客 1670

使用JQ实现将xml数据转为json数据

使用 JQ 将 XML 数据转换为 JSON 数据可以使用 jq 命令。 例如,假设你有一个名为 input.xml 的 XML 文件,你可以使用以下命令将其转换为 JSON 格式: catinput.xml | jq -r '@xml' > output.json 这将使用 JQ 的 @xml 内建函数将 XML 数据解析为 JSON 对象,并将其写入名为 output.json 的文件...

weixin_35756690的博客 556

Gazebo仿真环境下的强化学习实现

实际上利用Gazebo进行强化学习无非是环境获取上的不同,Gazebo的环境控制需要使用ROS服务进行控制,状态可以通过Gazebo进行获取,同时某些必要数据需要从话题中获取,最重要的是组织获取 的数据(通过话题等)与控制Gazebo的仿真步骤之间的组合。强化学习的手段与传统算法无异,强化学习方法最重要的是要确定动作空间、状态空间、奖励空间,这三个空间是work的前提。在笔者自己的环境中,将获取里程计的话题以及获取激光点的数据替换成为了自己的本机的仿真环境匹配的话题。

Moresweet 猫甜 6450

AE 与 ISP 参数联动机制解析:自动曝光系统与图像信号处理模块协同设计实践

AE(自动曝光)并不是一个独立的图像控制模块,而是与 ISP(Image Signal Processor)深度耦合运作的系统协同体。其输出的曝光参数直接决定了图像处理链路中 Gamma 曲线选择、黑电平补偿、去噪级别、边缘增强等一系列关键参数的取值。本文基于主流平台(如高通、MTK、海思)的工程实战经验,详细剖析 AE 与 ISP 在曝光驱动、调节优先级、图像还原逻辑等环节的联动机制,并结合拍照与视频等不同场景,给出可落地的联调方法。

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 1528

javascript xml字符串转为JSON对象

/* ### jQuery XML to JSON Plugin v1.2 - 2013-02-18 ### * http://www.fyneworks.com/ - diego@fyneworks.com * Licensed under http://en.wikipedia.org/wiki/MIT_License ### Website: http://www.fynework

hu8471479的专栏 1563

【23】C++实战篇——C++报错:LNK2001:无法解析的外部符号 ,LNK2019: 无法解析的外部符号,原因分析及解决方法

该文分析了VS项目中出现的"无法解析的外部符号"LNK2001/LNK2019错误。问题表现为跨项目共享变量时,Projector项目无法解析Line项目中声明的外部变量ImgSavePath和ImgFormat。原因在于头文件声明了变量但未包含实现的源文件。解决方法是将getLine.cpp文件添加到Projector项目中。文章还总结了两种错误代码的区别:LNK2001通常对应变量缺失,LNK2019对应函数缺失。最后列出了具体的报错信息,包括无法解析的变量和函数符号。

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 2007

js中Json字符串如何转成Json对象(4种转换方式)

js中Json字符串如何转成Json对象(4种转换方式) 一、总结 一句话总结:原生方法(就是浏览器默认支持的方法) 浏览器支持的转换方式(Firefox,chrome,opera,safari,ie9,ie8)等浏览器: JSON.parse(jsonstr); //可以将json字符串转换成json对象JSON.stringify(jsonobj); //可以将json对象转换成js...

weixin_34204057的博客 2883

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

js中Json对象与Json字符串互转(4种转换方式)

1>jQuery插件支持的转换方式: 复制代码代码如下: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象 2>浏览器支持的转换方式(Firefox,chrome,opera,safari,ie9,ie8)等浏览器: 复制代码代码如下: JSON.par...

keep12moving的博客 1713

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

JS中将XML转为JSON对象

<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.js"></script> <script> var $xml = jQuery.noConflict(); </script> <script type="text/javascript" src="http:...

weixin_30263073的博客 1874

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

JS解析格式化Json插件,Json和XML互相转换插件

  Json解析格式化组件下载:   JS解析Json插件,Json和XML互相转换插件下载,   提供Js操作Json案例以及Xml和Json互相转换,附带案例说明   Json2.js json序列化和反序列化方法插件下载   开发者:json官网:http://www.yunjson.com/...

计算机毕业论文源码,学生个人网页制作html源码。贴近用户做网络推广和互联网优化。 719

JavaScript对象、JSON对象、JSON字符串的区别

一、首先看下什么是JSON JSON:JavaScript Object Natation,JavaScript对象的表现形式,已经发展成一种轻量级的数据交换格式。 JavaScript对象的表现形式,指定义JS对象的一种方式。 数据交换格式,即用于交换的数据格式。 JSON是种格式: 数据在键值对中, 数据由逗号分隔, 花括号保存对象, 方括号保存数组. 键值对组合中的名称写在前面,值对...

qq_37910492的博客 289

3.1 前端学习笔记之XML与HTML、JavaScript、jQuery、AJAX、JSON的区别

文章目录一、XML与HTML前言简介XML与HTML的区别最重要的区别(自我认为)二、官网的英文解释:三、JavaScript四、jQuery五、Ajax六、JSON七、总结 一、XML与HTML 前言 为什么我会突然学XML呢?我在学习用JSP写Web后台的时候,常常会看到“等价的XML语句”、“符合XML标准”等字眼,并且在我新建的JSP项目中也发现有很多的.xml文件,我很想知道这些.xml文件的作用以及与JSP(或者说是与Java)的联系,就试着开始学习XML了。 简介 XML的全称为可扩展标记语言

qq_43456781的博客 1879

Json对象与Json字符串互转(4种转换方式)

1、jQuery插件支持的转换方式: 代码如下: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象 2、浏览器支持的转换方式(Firefox,chrome,opera,safari,ie9,ie8)等浏览器: 代码如下: JSON.parse(jsonstr); //可以将json字符串转换成json对象 JSON.stringify(jsonobj); //可以将json对象转换成json对符串

mengdong_524的博客 1万+

使用jQuery将表单数据转换为JavaScript对象

如何将表单的所有元素转换为JavaScript对象? 我希望有一些方法可以自动从表单中构建JavaScript对象,而不必遍历每个元素。 我不需要$('#formid').serializ

asdfgh0077的博客 1448

json和jQuery

json入门: json: Java Script 对象 的 表现形式 (Java Script Object Notation) 作用: 用来存储 数据 和 传输数据的 一种 格式 ,也是 一种 文本格式 xml和json 都是 用来 存储数据的一种 文本格式 xml文件 是 以 .xml结尾 xml语法: 自定义标签名 文本内容 &lt...

weixin_41536380的博客 1246

【json】json基础使用、jquery异步请求返回json数据

JSON JSON 简介 AJAX一开始使用的时XML的数据格式,XML的数据格式非常简单清晰,容易编写,但是由于XML中包含了过多的标签,以及十分复杂的结构,解析起来也相对复杂,所以目前来讲,AJAX中已经几乎不使用XML来发送数据了。取而代之的是一项新的技术JSON。 JSON是JavaScript Object Notation 的缩写,是JS提供的一种数据交换格式。 JS ON对象本质上就是一个JS对象,但是这个对象比较特殊,它可以直接转换为字符串,在不同语言中进行传递,通过工具又可以转

Kuber 1235
上一篇: 如何编写子定义annotation及使用JDK5.0 annotation包中的annotations
下一篇: FireBug 控制台函数说明
subchen
博客等级 码龄25年 33粉丝 77原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值