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让IE浏览器event对象符合W3C DOM标准
Nov 24 Javascript
JavaScript高级程序设计 阅读笔记(十四) js继承机制的实现
Aug 14 Javascript
详解JS 比较两个Json对象的值是否相等的实例
Nov 20 Javascript
JQuery 在线引用及测试引用是否成功
Jun 24 Javascript
利用CSS3在Angular中实现动画
Jan 15 Javascript
jQuery Validate表单验证插件 添加class属性形式的校验
Jan 18 Javascript
基于javascript实现图片左右切换效果
Jan 25 Javascript
VUE使用vuex解决模块间传值问题的方法
Jun 01 Javascript
javascript编程开发中取色器及封装$函数用法示例
Aug 09 Javascript
js中获取URL参数的共用方法getRequest()方法实例详解
Oct 24 Javascript
vue动态注册组件实例代码详解
May 30 Javascript
策略模式实现 Vue 动态表单验证的方法
Sep 16 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实现读取和编写XML DOM代码
2010/04/07 PHP
PHP语法自动检查的Vim插件
2014/08/11 PHP
php基于mcrypt的加密解密实例
2014/10/27 PHP
php实现修改新闻时删除图片的方法
2015/05/12 PHP
php组合排序简单实现方法
2016/10/15 PHP
PHP封装的完整分页类示例
2018/08/21 PHP
JS 容错处理代码, 屏蔽错误信息
2021/03/09 Javascript
Javascript中的变量使用说明
2010/05/18 Javascript
jQuery避免$符和其他JS库冲突的方法对比
2014/02/20 Javascript
JavaScript中使用ActiveXObject操作本地文件夹的方法
2014/03/28 Javascript
jQuery判断checkbox是否选中的3种方法
2014/08/12 Javascript
解决jquery版本冲突的有效方法
2014/09/02 Javascript
Javascript实现单张图片浏览
2014/12/18 Javascript
js简单的点击返回顶部效果实现方法
2015/04/10 Javascript
jQuery地图map悬停显示省市代码分享
2015/08/20 Javascript
微信小程序-详解数据缓存
2016/11/24 Javascript
浅谈DOM的操作以及性能优化问题-重绘重排
2017/01/08 Javascript
JS实现列表页面隔行变色效果
2017/03/25 Javascript
npm国内镜像 安装失败的几种解决方案
2017/06/04 Javascript
每个 JavaScript 工程师都应懂的33个概念
2018/10/22 Javascript
关于ligerui子页面关闭后,父页面刷新,重新加载的方法
2019/09/27 Javascript
vue如何实现动态加载脚本
2020/02/05 Javascript
Python学习笔记之解析json的方法分析
2017/04/21 Python
Python创建二维数组实例(关于list的一个小坑)
2017/11/07 Python
Pycharm设置去除显示的波浪线方法
2018/10/28 Python
对Python信号处理模块signal详解
2019/01/09 Python
python基于paramiko将文件上传到服务器代码实现
2019/07/08 Python
Python3批量移动指定文件到指定文件夹方法示例
2019/09/02 Python
tensorflow实现训练变量checkpoint的保存与读取
2020/02/10 Python
python实现四人制扑克牌游戏
2020/04/22 Python
html5 横向滑动导航栏的方法示例
2020/05/08 HTML / CSS
6号汽车旅馆预订:Motel 6
2018/02/11 全球购物
工商局副局长个人对照检查材料
2014/09/25 职场文书
六查六看个人剖析材料
2014/10/14 职场文书
2015年公路路政个人工作总结
2015/07/24 职场文书
不负正版帝国之名 《重返帝国》引领SLG手游制作新的标杆
2022/04/07 其他游戏