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 相关文章推荐
IE 当eval遇上function的处理
Aug 09 Javascript
EASYUI TREEGRID异步加载数据实现方法
Aug 22 Javascript
Javascript实现关联数据(Linked Data)查询及注意细节
Feb 22 Javascript
jQuery找出网页上最高元素的方法
Mar 20 Javascript
jQuery超赞的评分插件(8款)
Aug 20 Javascript
简单解析JavaScript中的__proto__属性
May 10 Javascript
js与jQuery实现的用户注册协议倒计时功能实例【三种方法】
Nov 09 jQuery
vue中如何去掉空格的方法实现
Nov 09 Javascript
JS实现数组深拷贝的方法分析
Mar 06 Javascript
layui下拉框获取下拉值(select)的例子
Sep 10 Javascript
在vue中根据光标的显示与消失实现下拉列表
Sep 29 Javascript
40行代码把Vue3的响应式集成进React做状态管理
May 20 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实现搜索相似图片
2015/09/22 PHP
php异步:在php中使用fsockopen curl实现类似异步处理的功能方法
2016/12/10 PHP
php多进程应用场景实例详解
2019/07/22 PHP
比较详细的关于javascript中void(0)的具体含义解释
2007/08/02 Javascript
jQuery EasyUI API 中文文档 - EasyLoader 加载器
2011/09/29 Javascript
jquery实现metro效果示例代码
2013/09/06 Javascript
JavaScript定义类和对象的方法
2014/11/26 Javascript
Javascript的闭包详解
2014/12/26 Javascript
使用javascript实现监控视频播放并打印日志
2015/01/05 Javascript
使用javascript实现json数据以csv格式下载
2015/01/09 Javascript
js鼠标滑过图片震动特效的方法
2015/02/17 Javascript
javascript高级编程之函数表达式 递归和闭包函数
2015/11/29 Javascript
AngularJS实现的输入框字数限制提醒功能示例
2017/10/26 Javascript
JavaScript实现二叉树定义、遍历及查找的方法详解
2017/12/20 Javascript
web前端vue之vuex单独一文件使用方式实例详解
2018/01/11 Javascript
[50:04]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第二局
2016/02/28 DOTA
[02:17]快乐加倍!DOTA2食人魔魔法师至宝+迎霜节活动上线
2019/12/22 DOTA
深入理解Python中range和xrange的区别
2017/11/26 Python
python调用百度REST API实现语音识别
2018/08/30 Python
python实现代码统计器
2019/09/19 Python
Django2 连接MySQL及model测试实例分析
2019/12/10 Python
TensorFlow Saver:保存和读取模型参数.ckpt实例
2020/02/10 Python
浅谈python输出列表元素的所有排列形式
2020/02/26 Python
pycharm部署、配置anaconda环境的教程
2020/03/24 Python
如何Tkinter模块编写Python图形界面
2020/10/14 Python
澳洲女装时尚在线:Blue Bungalow
2018/05/05 全球购物
澳大利亚设计的优质鞋类和适合澳大利亚生活方式的服装:Rivers
2019/04/23 全球购物
土耳其玩具商店:Toyzz Shop
2019/08/02 全球购物
软件毕业生个人鉴定
2014/03/03 职场文书
2014年物业公司工作总结
2014/11/22 职场文书
毕业实习感受与体会
2015/05/26 职场文书
又涨知识了,自律到底多重要?
2019/06/27 职场文书
Mysql 如何批量插入数据
2021/04/06 MySQL
golang中切片copy复制和等号复制的区别介绍
2021/04/27 Golang
pt-archiver 主键自增
2022/04/26 MySQL