xml转json的js代码


Posted in Javascript onAugust 28, 2012
function xmlToJson(xml) { // Create the return object 
var obj = {}; 
if (xml.nodeType == 1) { // element 
// do attributes 
if (xml.attributes.length > 0) { 
obj["@attributes"] = {}; 
for (var j = 0; j < xml.attributes.length; j++) { 
var attribute = xml.attributes.item(j); 
obj["@attributes"][attribute.nodeName] = attribute.nodeValue; 
} 
} 
} else if (xml.nodeType == 3) { // text 
obj = xml.nodeValue; 
} 
// do children 
if (xml.hasChildNodes()) { 
for (var i = 0; i < xml.childNodes.length; i++) { 
var item = xml.childNodes.item(i); 
var nodeName = item.nodeName; 
if (typeof (obj[nodeName]) == "undefined") { 
obj[nodeName] = xmlToJson(item); 
} else { 
if (typeof (obj[nodeName].length) == "undefined") { 
var old = obj[nodeName]; 
obj[nodeName] = []; 
obj[nodeName].push(old); 
} 
obj[nodeName].push(xmlToJson(item)); 
} 
} 
} 
return obj; 
};
Javascript 相关文章推荐
jquery tab标签页的制作
May 10 Javascript
jquery 学习之二 属性相关
Nov 23 Javascript
js不能跳转到上一页面的问题解决方法
Mar 01 Javascript
JavaScript中for-in遍历方式示例介绍
Feb 11 Javascript
引用其它js时如何同时处理多个window.onload事件
Sep 02 Javascript
javascript表单事件处理方法详解
May 15 Javascript
JS实现复制内容到剪贴板功能兼容所有浏览器(推荐)
Jun 17 Javascript
jquery.cookie.js的介绍与使用方法
Feb 09 Javascript
node.js 核心http模块,起一个服务器,返回一个页面的实例
Sep 11 Javascript
vue进行图片的预加载watch用法实例讲解
Feb 07 Javascript
node.js微信小程序配置消息推送的实现
Feb 13 Javascript
Vue中图片Src使用变量的方法
Oct 30 Javascript
基于jquery创建的一个图片、视频缓冲的效果样式插件
Aug 28 #Javascript
javascript 判断中文字符长度的函数代码
Aug 27 #Javascript
Jquery 数据选择插件Pickerbox使用介绍
Aug 24 #Javascript
javascript数字格式化通用类 accounting.js使用
Aug 24 #Javascript
jquery动画4.升级版遮罩效果的图片走廊--带自动运行效果
Aug 24 #Javascript
jquery动画3.创建一个带遮罩效果的图片走廊
Aug 24 #Javascript
jquery动画2.元素坐标动画效果(创建一个图片走廊)
Aug 24 #Javascript
You might like
php 动态添加记录
2009/03/10 PHP
使用PHP计算两个路径的相对路径
2013/06/14 PHP
php define的第二个参数使用方法
2013/11/04 PHP
PHP数据库链接类(PDO+Access)实例分享
2013/12/05 PHP
php中JSON的使用方法
2015/04/30 PHP
微信公众平台DEMO(PHP)
2016/05/04 PHP
PHP实现文件上传下载实例
2016/10/18 PHP
ThinkPHP框架实现的邮箱激活功能示例
2018/06/15 PHP
Laravel框架实现修改登录和注册接口数据返回格式的方法
2018/08/17 PHP
文字溢出实现溢出的部分再放入一个新生成的div中具体代码
2013/05/17 Javascript
Javascript实现颜色rgb与16进制转换的方法
2015/04/18 Javascript
URL中“#” “?” &amp;“”号的作用浅析
2017/02/04 Javascript
angular.js指令中transclude选项及ng-transclude指令详解
2017/05/24 Javascript
详解Vue学习笔记进阶篇之列表过渡及其他
2017/07/17 Javascript
JS简单获取并修改input文本框内容的方法示例
2018/04/08 Javascript
使用JavaScript生成罗马字符的实例代码
2018/06/08 Javascript
vue打包的时候自动将px转成rem的操作方法
2018/06/20 Javascript
JavaScript常见鼠标事件与用法分析
2019/01/03 Javascript
nodejs微信开发之授权登录+获取用户信息
2019/03/17 NodeJs
vue实现密码显示与隐藏按钮的自定义组件功能
2019/04/23 Javascript
原生js拖拽实现图形伸缩效果
2020/02/10 Javascript
vue点击标签切换选中及互相排斥操作
2020/07/17 Javascript
Python字符串转换成浮点数函数分享
2015/07/24 Python
Python的条件语句与运算符优先级详解
2015/10/13 Python
Python连接mysql数据库的正确姿势
2016/02/03 Python
Python自动化运维_文件内容差异对比分析
2017/12/13 Python
python 中if else 语句的作用及示例代码
2018/03/05 Python
对numpy数据写入文件的方法讲解
2018/07/09 Python
强悍的Python读取大文件的解决方案
2019/02/16 Python
Python调用.net动态库实现过程解析
2020/06/05 Python
CSS3样式linear-gradient的使用实例
2017/01/16 HTML / CSS
美国知名的摄影器材销售网站:Adorama
2017/02/01 全球购物
介绍一下Ruby的多线程处理
2013/02/01 面试题
自我鉴定思想方面
2013/10/07 职场文书
用 Python 定义 Schema 并生成 Parquet 文件详情
2021/09/25 Python
python中urllib包的网络请求教程
2022/04/19 Python