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 相关文章推荐
alixixi runcode.asp的代码不错的应用
Aug 08 Javascript
js iframe跨域访问(同主域/非同主域)分别深入介绍
Jan 24 Javascript
JS中判断null、undefined与NaN的方法
Mar 24 Javascript
JavaScript插件化开发教程 (三)
Jan 27 Javascript
JavaScript面试开发常用的知识点总结
Aug 08 Javascript
JavaScript登录验证码的实现
Oct 27 Javascript
ajax 提交数据到后台jsp页面及页面跳转问题
Jan 19 Javascript
Angularjs根据json文件动态生成路由状态的实现方法
Apr 17 Javascript
详解node如何让一个端口同时支持https与http
Jul 04 Javascript
js中火星坐标、百度坐标、WGS84坐标转换实现方法示例
Mar 02 Javascript
如何手写一个简易的 Vuex
Oct 10 Javascript
three.js 实现露珠滴落动画效果的示例代码
Mar 01 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
PHP安全编程之加密功能
2006/10/09 PHP
简单的PHP图片上传程序
2008/03/27 PHP
PHP 服务器配置(使用Apache及IIS两种方法)
2009/06/01 PHP
php 计划任务 检测用户连接状态
2012/03/29 PHP
PHP中单例模式与工厂模式详解
2017/02/17 PHP
Laravel框架实现redis集群的方法分析
2017/09/14 PHP
ASP中用Join和Array,可以加快字符连接速度的代码
2007/08/22 Javascript
通过身份证号得到出生日期和性别的js代码
2009/11/23 Javascript
Javascript 面向对象之重载
2010/05/04 Javascript
利用NodeJS的子进程(child_process)调用系统命令的方法分享
2013/06/05 NodeJs
纯JS实现动态时间显示代码
2014/02/08 Javascript
创建自己的jquery表格插件
2015/11/25 Javascript
AngularJS使用angular.bootstrap完成模块手动加载的方法分析
2017/01/19 Javascript
Bootstrap导航中表单简单实现代码
2017/03/06 Javascript
详解angularJs中关于ng-class的三种使用方式说明
2017/06/02 Javascript
bootstrap daterangepicker汉化以及扩展功能
2017/06/15 Javascript
jQuery使用zTree插件实现可拖拽的树示例
2017/09/23 jQuery
Node.js中sequelize时区的配置方法
2017/12/10 Javascript
node.js实现为PDF添加水印的示例代码
2018/12/05 Javascript
Vue切换组件实现返回后不重置数据,保留历史设置操作
2020/07/21 Javascript
[01:33]DOTA2上海特级锦标赛 LIQUID战队完整宣传片
2016/03/16 DOTA
跟老齐学Python之正规地说一句话
2014/09/28 Python
将Django框架和遗留的Web应用集成的方法
2015/07/24 Python
浅谈Python实现2种文件复制的方法
2018/01/19 Python
python颜色随机生成器的实例代码
2020/01/10 Python
python爬虫看看虎牙女主播中谁最“顶”步骤详解
2020/12/01 Python
用pushplus+python监控亚马逊到货动态推送微信
2021/01/29 Python
澳大利亚快时尚鞋类市场:Billini
2018/05/20 全球购物
ruby如何进行集成操作?Ruby能进行多重继承吗?
2013/10/16 面试题
车间调度岗位职责
2013/11/30 职场文书
安全标准化实施方案
2014/02/20 职场文书
初三新学期计划书
2014/05/03 职场文书
人力资源求职信
2014/05/25 职场文书
2015年社区民政工作总结
2015/04/21 职场文书
文明上网主题班会
2015/08/14 职场文书
2020年元旦晚会策划书模板
2019/12/30 职场文书