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


Posted in Javascript onMarch 25, 2017

最近在处理一个前端功能的时候,遇到了一个问题,原本的系统是使用的xml来存储数据的,而在新的系统上,想要转换为json对象存储,于是就考虑到直接将xml对象转换为json对象。

目前为止,通用的转换方式我还没有找到,只有根据已知的xml对象结构来使用for循环不断地赋值。

var xml = ······;//获取xml对象
var objList = [];
for(var i = 0;i<xml.childNodes.length;i++){
  var obj = {};
  obj.attribute1 = xml.getAttribute("attribute1");//获取节点属性
  obj.attribute2 = xml.getAttribute("attribute2");
  obj.children = [];
  for(var x=0;x<xml.childNodes[i].childNodes.length;x++){
    var element = xml.childNodes[i].childNodes[x];
    var child = {};
    child.attribute1 = element.getAttribute("attribute1");
    child.attribute2 = element.getAttribute("attribute2");
    obj.children.push(child);
  }
  objList.push(obj);     
}

for循环可以继续嵌套下去,每一个新的json对象的属性都可以自定义,但是在getAttribute()方法中一定要填写自己所需要的存在的属性。

这样的方法看起来比较蠢,暂时先这样用吧,等到我想到了更好的方法之后在考虑替换。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
in.js 一个轻量级的JavaScript颗粒化模块加载和依赖关系管理解决方案
Jul 26 Javascript
js获取IFRAME当前的URL的方法
Nov 13 Javascript
javascript元素动态创建实现方法
May 13 Javascript
浅谈Javascript实现继承的方法
Jul 06 Javascript
实现非常简单的js双向数据绑定
Nov 06 Javascript
js正则表达式注册页面表单验证
Oct 11 Javascript
JSON 必知必会 观后记
Oct 27 Javascript
详解angular2采用自定义指令(Directive)方式加载jquery插件
Feb 09 Javascript
Node.js之网络通讯模块实现浅析
Apr 01 Javascript
解决vue 路由变化页面数据不刷新的问题
Mar 13 Javascript
javascript实现5秒倒计时并跳转功能
Jun 20 Javascript
微信小程序 scroll-view 水平滚动实现过程解析
Oct 12 Javascript
javascript实现的图片预览功能
Mar 25 #Javascript
JS控件bootstrap suggest plugin使用方法详解
Mar 25 #Javascript
bootstrap table动态加载数据示例代码
Mar 25 #Javascript
JS控件bootstrap datepicker使用方法详解
Mar 25 #Javascript
基于bootstrap按钮式下拉菜单组件的搜索建议插件
Mar 25 #Javascript
JS中showModalDialog关闭子窗口刷新主窗口用法详解
Mar 25 #Javascript
bootstrap suggest搜索建议插件使用详解
Mar 25 #Javascript
You might like
虹吸式咖啡探讨–研磨
2021/03/03 冲泡冲煮
php学习之 循环结构实现代码
2011/06/09 PHP
PHP中函数rand和mt_rand的区别比较
2012/12/26 PHP
大家在抢红包,程序员在研究红包算法
2015/08/31 PHP
php判断手机浏览还是web浏览,并执行相应的动作简单实例
2016/07/28 PHP
使用PHP连接多种数据库的实现代码(mysql,access,sqlserver,Oracle)
2016/12/21 PHP
javascript 获取网页参数系统
2008/07/19 Javascript
jquery ajax提交表单数据的两种方式
2009/11/24 Javascript
javascript中万恶的function实例分析
2011/05/25 Javascript
读jQuery之二(两种扩展)
2011/06/11 Javascript
实现只能输入数字的input不用replace方法
2013/09/12 Javascript
jQuery实现弹出窗口中切换登录与注册表单
2015/06/05 Javascript
jquery实现叠层3D文字特效代码分享
2015/08/21 Javascript
jquery通过扩展select控件实现支持enter或focus选择的方法
2015/11/19 Javascript
XML、HTML、CSS与JS的区别整理
2016/02/18 Javascript
AngularJS 实现点击按钮获取验证码功能实例代码
2017/07/13 Javascript
Vue.js仿Select下拉框效果
2020/02/18 Javascript
详解Vue Cli浏览器兼容性实践
2020/06/08 Javascript
最全vue的vue-amap使用高德地图插件画多边形范围的示例代码
2020/07/17 Javascript
vue中使用腾讯云Im的示例
2020/10/23 Javascript
python从入门到精通(DAY 2)
2015/12/20 Python
Python字符编码判断方法分析
2016/07/01 Python
Python网络编程详解
2017/10/31 Python
基于python中pygame模块的Linux下安装过程(详解)
2017/11/09 Python
python第三方库学习笔记
2020/02/07 Python
Python中断多重循环的几种方式详解
2020/02/10 Python
Python Selenium 设置元素等待的三种方式
2020/03/18 Python
python脚本使用阿里云slb对恶意攻击进行封堵的实现
2021/02/04 Python
使用CSS3的box-sizing属性解决div宽高被内边距撑开的问题
2016/06/28 HTML / CSS
为智能设备设计个性化保护套网站:caseable
2017/01/05 全球购物
校园之声广播稿
2014/01/31 职场文书
会计岗位描述
2014/02/22 职场文书
先进班组事迹材料
2014/12/25 职场文书
欠款纠纷起诉状
2015/05/19 职场文书
党小组意见范文
2015/06/08 职场文书
2015年大学迎新工作总结
2015/07/16 职场文书