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 相关文章推荐
javascript实现unicode和字符的互相转换
Jul 18 Javascript
JQuery Tips(2) 关于$()包装集你不知道的
Dec 14 Javascript
$.ajax返回的JSON无法执行success的解决方法
Sep 09 Javascript
VS2008中使用JavaScript调用WebServices
Dec 18 Javascript
Vue单文件组件的如何使用方式介绍
Jul 28 Javascript
jQuery 实时保存页面动态添加的数据的示例
Aug 14 jQuery
基于angular6.0实现的一个组件懒加载功能示例
Apr 12 Javascript
基于vue实现web端超大数据量表格的卡顿解决
Apr 02 Javascript
微信小程序自定义单项选择器样式
Jul 25 Javascript
使用 Jest 和 Supertest 进行接口端点测试实例详解
Apr 25 Javascript
微信小程序自定义联系人弹窗
May 26 Javascript
vue 重塑数组之修改数组指定index的值操作
Aug 09 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
教你如何把一篇文章按要求分段
2006/10/09 PHP
PHP form 表单传参明细研究
2009/07/17 PHP
php学习之运算符相关概念
2011/06/09 PHP
php多文件上传下载示例分享
2014/02/20 PHP
php session_decode函数用法讲解
2019/05/26 PHP
laravel Validator ajax返回错误信息的方法
2019/09/29 PHP
解决laravel groupBy 对查询结果进行分组出现的问题
2019/10/09 PHP
关于IE BUG与字符串截取substr的解决办法
2013/04/10 Javascript
使用jQuery动态加载js脚本文件的方法
2014/04/03 Javascript
JQuery中属性过滤选择器用法实例分析
2015/05/18 Javascript
JS基于FileSystemObject创建一个指定路径的TXT文本文件
2015/08/05 Javascript
如何用jQuery实现ASP.NET GridView折叠伸展效果
2015/09/26 Javascript
jQuery实现级联下拉框实战(5)
2017/02/08 Javascript
vue微信分享 vue实现当前页面分享其他页面
2017/12/02 Javascript
JS/HTML5游戏常用算法之追踪算法实例详解
2018/12/12 Javascript
深入浅析ng-bootstrap 组件集中 tabset 组件的实现分析
2019/07/19 Javascript
微信小程序 WXML节点信息查询详解
2019/07/29 Javascript
ES6 class类链式继承,实例化及react super(props)原理详解
2020/02/15 Javascript
基于vue中的scoped坑点解说
2020/09/04 Javascript
wx.CheckBox创建复选框控件并响应鼠标点击事件
2018/04/25 Python
python3 实现验证码图片切割的方法
2018/12/07 Python
python使用wxpy轻松实现微信防撤回的方法
2019/02/21 Python
python Event事件、进程池与线程池、协程解析
2019/10/25 Python
pytorch 模拟关系拟合——回归实例
2020/01/14 Python
python3.8下载及安装步骤详解
2020/01/15 Python
python3发送request请求及查看返回结果实例
2020/04/30 Python
Python新手如何进行闭包时绑定变量操作
2020/05/29 Python
python与idea的集成的实现
2020/11/20 Python
Html5新标签解释及用法
2012/02/17 HTML / CSS
方太官方网上商城:销售方太抽油烟机、燃气灶、消毒柜等
2017/01/17 全球购物
Qoo10台湾站:亚洲领先的在线市场
2018/05/15 全球购物
国际贸易专业个人职业生涯规划
2014/02/15 职场文书
法人授权委托书范本
2014/04/04 职场文书
2014年前台接待工作总结
2014/12/05 职场文书
初中化学教学反思
2016/02/22 职场文书
Oracle使用别名的好处
2022/04/19 Oracle