广告
返回顶部
首页 > 资讯 > 精选 >javascript中xml如何转json
  • 542
分享到

javascript中xml如何转json

2023-06-14 20:06:24 542人浏览 泡泡鱼
摘要

这篇文章主要介绍javascript中xml如何转JSON,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!JavaScript可以做什么1.可以使网页具有交互性,例如响应用户点击,给用户提供更好的体验。2.可以处理表单

这篇文章主要介绍javascript中xml如何转JSON,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

JavaScript可以做什么

1.可以使网页具有交互性,例如响应用户点击,给用户提供更好的体验。2.可以处理表单,检验用户的输入,并提供及时反馈节省用户时间。3.可以根据用户的操作,动态的创建页面。4使用JavaScript可以通过设置cookie存储在浏览器上的一些临时信息。

javascript xml转json的方法:首先通过“loadXml(str) {...}”加载xml数据;然后通过“xmlTojson(xmlObj, nodename,isarray){..}”将xml数据转成json对象的数据即可。

本文操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

1、代码

//加载xml数据    function loadXml(str) {        if (str == null) {            return null;        }        var doc = str;        try{            doc = createXMLDOM();            doc.async = false;            doc.loadXML(str);        }catch(e){            doc = $.parseXML(str);        }        return doc;    }    //xml数据转成json对象的数据    function xmlTojson(xmlObj, nodename, isarray){        var obj = $(xmlObj);        var itemobj = {};        var nodenames = "";        var getAllAttrs = function(node){//递归解析xml 转换成json对象            var _itemobj = {};            var notNull = false;            var nodechilds = node.childNodes;            var childlenght = nodechilds.length;            var _attrs = node.attributes;            var firstnodeName = "#text";            try{                firstnodeName = nodechilds[0].nodeName;            }catch(e){            }            if((childlenght > 0 && firstnodeName != "#text") || _attrs.length > 0){                var _childs = nodechilds;                var _childslength = nodechilds.length;                var _fileName_ = "";                if(undefined != _attrs){                    var _attrslength = _attrs.length;                    for(var i = 0; i < _attrslength; i++){//解析xml节点属性                        var attrname = _attrs[i].nodeName;                        var attrvalue = _attrs[i].nodeValue;                        _itemobj[attrname] = attrvalue;                    }                }                for (var j = 0; j < _childslength; j++) {//解析xml子节点                    var _node = _childs[j];                    var _fildName = _node.nodeName;                    if("#text" == _fildName){break;};                    if(_itemobj[_fildName] != undefined){//如果有重复的节点需要转为数组格式                        if(!(_itemobj[_fildName] instanceof Array)){                            var a = _itemobj[_fildName];                            _itemobj[_fildName] = [a];//如果该节点出现大于一个的情况 把第一个的值存放到数组中                        }                    }                    var _fildValue = getAllAttrs(_node);                    try{                        _itemobj[_fildName].push(_fildValue);                    }catch(e){                        _itemobj[_fildName] = _fildValue;                        _itemobj["length"] = 1;                    }                }           }else{                _itemobj = (node.textContent == undefined) ? node.text : node.textContent;           }           return _itemobj;        };        if(nodename){            nodenames = nodename.split("/")        }        for(var i = 0;i < nodenames.length; i++){            obj = obj.find(nodenames[i]);        }        $(obj).each(function(key, item){            if(itemobj[item.nodeName] != undefined){                if(!(itemobj[item.nodeName] instanceof Array)){                    var a = itemobj[item.nodeName];                    itemobj[item.nodeName] = [a];                }                itemobj[item.nodeName].push(getAllAttrs(item));            }else{                if(nodenames.length > 0){                    itemobj[item.nodeName] = getAllAttrs(item);                }else{                    itemobj[item.firstChild.nodeName] = getAllAttrs(item.firstChild);                }            }        });        if(nodenames.length > 1){            itemobj = itemobj[nodenames[nodenames.length-1]];        }        if(isarray && !(itemobj instanceof Array) && itemobj != undefined){            itemobj = [itemobj];        }        return itemobj;    }        //实例测试    var dataStr = '<userList><user name="aa" age="32"></user><user name="bb" age="33"></user><user name="cc" age="34"><child name="cc-1" age="3"></child></user></userList>'    var xmlObj = loadXml(dataStr);    var jsonData = xmlTojson(xmlObj, 'userList/user', true);    console.log(jsonData)

测试结果

javascript中xml如何转json

以上是“javascript中xml如何转json”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网精选频道!

--结束END--

本文标题: javascript中xml如何转json

本文链接: https://www.lsjlt.com/news/275074.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • javascript中xml如何转json
    这篇文章主要介绍javascript中xml如何转json,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!JavaScript可以做什么1.可以使网页具有交互性,例如响应用户点击,给用户提供更好的体验。2.可以处理表单...
    99+
    2023-06-14
  • javascript中将xml转为json的方法
    这篇文章将为大家详细讲解有关javascript中将xml转为json的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。javascript中将xml转换为json字符串的方法:首先通过XML字符串或请...
    99+
    2023-06-14
  • php中xml转json格式如何转换
    这篇文章主要介绍php中xml转json格式如何转换,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php xml转json格式的方法:首先创建一个PHP示例文件;然后通过“function xmlToArray($x...
    99+
    2023-06-15
  • 在AngularJS中如何将XML转换为JSON
    本篇文章为大家展示了在AngularJS中如何将XML转换为 JSON,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。我们将谈谈如何在Angular  JS...
    99+
    2022-10-19
  • Python中xml和json格式互转
    Python中xml和json格式是可以互转的,就像json格式转Python字典对象那样。 xml格式和json格式互转用到的xmltodict库 安装xmltodict库 C:\Users\Administrator>pip3...
    99+
    2023-01-31
    格式 Python xml
  • javascript object如何转json
    本篇内容主要讲解“javascript object如何转json”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“javascript object如何转json...
    99+
    2022-10-19
  • python中将xml格式转json格式
    一、简介 在用python写脚本时,通常需要处理xml格式的文件或字符串。由于json格式处理的方便性, 我们可将其转为json格式进行处理。 二、步骤 1、安装工具包xmltodict 在命令行输入:pip install xmltod...
    99+
    2023-01-31
    格式 中将 python
  • javascript对象如何转为json
    这篇文章主要介绍了javascript对象如何转为json,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在javascript中,可以使用“JSON.stringify()”...
    99+
    2023-06-14
  • 如何把xml格式数据转成json格式?
    xml格式数据转json格式 导入json依赖 //导入maven依赖 org.json json 20220320 传入需要转换的xml,返回对应的jso...
    99+
    2023-08-24
    json xml java
  • javascript中json数据如何转为数组
    小编给大家分享一下javascript中json数据如何转为数组,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! 在javascript中,可以使用“JSON.p...
    99+
    2022-10-19
  • 如何在JavaScript中将string转换成json
    今天就跟大家聊聊有关如何在JavaScript中将string转换成json,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。JavaScript中string转json的方法:1、使用...
    99+
    2023-06-14
  • PHP中的JSON与XML格式怎么转换
    今天小编给大家分享一下PHP中的JSON与XML格式怎么转换的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、JSON转XM...
    99+
    2023-07-05
  • php如何将xml转为json格式?3种方法分享
    当我们处理数据时经常会遇到将XML格式转换为JSON格式的需求。PHP有许多内置函数可以帮助我们执行这个操作。在本文中,我们将讨论将XML格式转换为JSON格式的不同方法。方法一:使用SimpleXML和json_encodeSimpleX...
    99+
    2023-05-14
    php xml json
  • javascript如何将数组转为json格式
    这篇文章给大家分享的是有关javascript如何将数组转为json格式的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在javascript中,可以使用转化函数“JSON.stringify()”来将数组转为js...
    99+
    2023-06-14
  • SqlServer中怎么将查询结果转换为XML和JSON
    这篇文章将为大家详细讲解有关SqlServer中怎么将查询结果转换为XML和JSON,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1.查询结果转XMLDEC...
    99+
    2022-10-18
  • .NET 中配置从xml转向json方法示例详解
    目录一、配置概述二、配置初识三、选项模式四、选项依赖注入五、其它配置六、托管模式一、配置概述 在.net framework平台中我们常见的也是最熟悉的就是.config文件作为配置...
    99+
    2022-11-13
    .NET配置xml转向json .NET 配置
  • JavaScript中的JSON转为Python可读取
    目录创作背景问题再现解决办法形参与实参对应关系格式化 JSON给键加上双引号识别且替换值总代码不足创作背景 最近本菜鸡在爬一个网站的时候,意外发现所需 JSON 数据在页面前端,但是...
    99+
    2022-11-13
  • 如何将javascript对象转换为json字符串
    这篇文章将为大家详细讲解有关如何将javascript对象转换为json字符串,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在javascript中,可以使用内置方法“JSON.stringify()”来...
    99+
    2023-06-14
  • 怎么在PHP中实现XML与JSON之间的互转功能
    这篇“怎么在PHP中实现XML与JSON之间的互转功能”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么在PHP中实现XML...
    99+
    2023-07-05
  • 如何进行JSON和XML的比较
    这篇文章给大家介绍如何进行JSON和XML的比较,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。JSON VS XML 的基本方法是前台载入后台声明JavaScript对象的字符串,用e...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作