JavaScript将XML转成JSON的方法_javascript技巧
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JavaScript将XML转成JSON的方法_javascript技巧,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含9868字,纯文字阅读大概需要15分钟。
内容图文
![JavaScript将XML转成JSON的方法_javascript技巧](/upload/InfoBanner/zyjiaocheng/325/deb4e84503174f09a2b4d31358b22f41.jpg)
本文实例讲述了JavaScript将XML转成JSON的方法。分享给大家供大家参考。具体方法如下:
1. JavaScript代码如下:
代码如下:
// Changes XML to JSON
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;
};
2. XML代码:
代码如下:
<br />
<LINKSIN NUM="1102"/><br />
<SPEED TEXT="1421" PCT="51"/><br />
</SD><br />
<SD><br />
<POPULARITY URL="davidwalsh.name/" TEXT="7131"/><br />
<REACH RANK="5952"/><br />
<RANK DELTA="-1648"/><br />
</SD><br />
</ALEXA></div><br />
3. JSON结果:<br />
<div class="codetitle"><span><U></U></span> 代码如下:</div><div class="codebody" id="code35638">{<br />
"@attributes": {<br />
AID: "=",<br />
HOME: 0,<br />
URL: "davidwalsh.name/",<br />
VER: "0.9",<br />
},<br />
SD = [<br />
{<br />
"@attributes": {<br />
FLAGS: "",<br />
HOST: "davidwalsh.name",<br />
TITLE: A<br />
},<br />
LINKSIN: {<br />
"@attributes": {<br />
NUM: 1102<br />
}<br />
},<br />
SPEED: {<br />
"@attributes": {<br />
PCT: 51,<br />
TEXT: 1421<br />
}<br />
},<br />
TITLE: {<br />
"@attributes": {<br />
TEXT: "David Walsh Blog :: PHP, MySQL, CSS, Javascript, MooTools, and Everything Else",<br />
}<br />
},<br />
},<br />
{<br />
POPULARITY: {<br />
"@attributes": {<br />
TEXT: 7131,<br />
URL: "davidwalsh.name/"<br />
}<br />
},<br />
RANK: {<br />
"@attributes": {<br />
DELTA: "-1648"<br />
}<br />
},<br />
REACH: {<br />
"@attributes": {<br />
RANK = 5952<br />
}<br />
}<br />
}<br />
]<br />
}</div></p>
<p>关于js操作xml感兴趣的朋友还可参考在线工具:</p>
<p>在线XML/JSON互相转换工具<br />
</p>
<p>在线XML格式化/压缩工具<br />
</p>
<p>希望本文所述对大家的javascript程序设计有所帮助。<a href="http://www.laitingfm.com" /><img src="http://www.gxlcms.com/ad/link.jpg" /></a>
<a href="https://curl.qcloud.com/kfoLTs9R" /><img src="http://www.gxlcms.com/ad/1040x100.jpg" /></a>
<font color="red">本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈<a href="http://www.gxlcms.com/?s=gb-show-p-1.html">版权投诉</a></font>
</article>
</div>
<div class="w310 r">
<a href="https://www.gxlcms.com/server-467421.html" target="_blank"> <img src="http://www.gxlcms.com/Public/aiod/ts.jpg" /></a>
<div class="book">
<a href="/special/js/" target="_blank" title="JavaScript教程/参考手册"> <img src="https://img.gxlcms.com/" alt="JavaScript教程/参考手册" />
<h3>JavaScript教程/参考手册</h3> </a>
</div> <div class="youclmt">
<h3>JavaScript热搜</h3> </div>
<div class="langmubt">
<ul>
<li><a href="/JavaScript-58543.html" target="_blank">vue 实现axios拦截、页面跳转和token 验证</a></li><li><a href="/JavaScript-58361.html" target="_blank">详解VUE中常用的几种import(模块、文件)引入方式</a></li><li><a href="/JavaScript-58358.html" target="_blank">vue 设置路由的登录权限的方法</a></li><li><a href="/JavaScript-58277.html" target="_blank">Auto.js自动收取自己和好友蚂蚁森林能量脚本</a></li><li><a href="/JavaScript-57957.html" target="_blank">Vue组件中prop属性使用说明实例代码详解</a></li><li><a href="/JavaScript-57601.html" target="_blank">自定义vue组件发布到npm的方法</a></li><li><a href="/JavaScript-57513.html" target="_blank">Vue利用canvas实现移动端手写板的方法</a></li><li><a href="/JavaScript-57387.html" target="_blank">vue2.0 移动端实现下拉刷新和上拉加载更多的示例</a></li><li><a href="/JavaScript-56947.html" target="_blank">解决vue-router中的query动态传参问题</a></li><li><a href="/JavaScript-56891.html" target="_blank">解决使用vue.js路由后失效的问题</a></li><li><a href="/JavaScript-56813.html" target="_blank">微信小程序实现换肤功能</a></li><li><a href="/JavaScript-56800.html" target="_blank">JS中touchstart事件与click事件冲突的解决方法</a></li><li><a href="/JavaScript-56693.html" target="_blank">完美解决axios在ie下的兼容性问题</a></li><li><a href="/JavaScript-56680.html" target="_blank">在vue项目中引入highcharts图表的方法(详解)</a></li><li><a href="/JavaScript-56652.html" target="_blank">Vue的轮播图组件实现方法</a></li><li><a href="/JavaScript-56414.html" target="_blank">angular基于ng-alain定义自己的select组件示例</a></li><li><a href="/JavaScript-56404.html" target="_blank">详解vue移动端日期选择组件</a></li><li><a href="/JavaScript-56376.html" target="_blank">JS/jQuery实现DIV延时几秒后消失或显示的方法</a></li><li><a href="/JavaScript-56141.html" target="_blank">微信小程序数字滚动插件使用详解</a></li><li><a href="/JavaScript-55910.html" target="_blank">详解基于vue-cli配置移动端自适应</a></li><li><a href="/JavaScript-55795.html" target="_blank">js实现微信/QQ直接跳转到支付宝APP打开口令领红包功能</a></li><li><a href="/JavaScript-55597.html" target="_blank">Swiper自定义分页器使用详解</a></li><li><a href="/JavaScript-55154.html" target="_blank">深入浅出webpack之externals的使用</a></li><li><a href="/JavaScript-55109.html" target="_blank">微信小程序实现简单input正则表达式验证功能示例</a></li><li><a href="/JavaScript-55104.html" target="_blank">Vue-Access-Control 前端用户权限控制解决方案</a></li> </ul>
</div>
<a href="https://curl.qcloud.com/I8w1gZa8" target="_blank"> <img src="http://www.gxlcms.com/ad/tx500x500.jpg" /></a>
</div>
</div>
</div>
</div>
<script type="text/javascript" src="/layui/layui.js"></script>
<script>
layui.use('code', function() {
layui.code({
elem: 'pre', //默认值为.layui-code
about: false,
skin: 'notepad',
title: 'JavaScript将XML转成JSON的方法_javascript技巧代码块',
encode: true //是否转义html标签。默认不开启
});
});
</script>
<link rel="stylesheet" type="text/css" href="/kan/css/basezb.css">
<script type="text/javascript" src="/kan/js/read.js"></script>
<div style="display:none">
<div class="login-box" id="login-dialog">
<div class="login-top"><a class="current" rel="nofollow" id="login1" onclick="setTab('login',1,2);" >登录</a></div>
<div class="login-form" id="nav-signin">
<!-- <div class="login-ico"><a rel="nofollow" class="qq" id="qqlogin" target="_blank" href="/?s=user-center-qqlogin.html"> QQ </a></div> -->
<div class="login-box-form" id="con_login_1">
<form id="loginform" action="/?s=user-center-login.html" method="post" onsubmit="return false;">
<p class="int-text">
<input class="email" id="username" name="username" type="text" value="用户名或Email" onfocus="if(this.value=='用户名或Email'){this.value='';}" onblur="if(this.value==''){this.value='用户名或Email';};" ></p>
<p class="int-text">
<input class="password1" type="password" id="password" name="password" value="******" onBlur="if(this.value=='') this.value='******';" onFocus="if(this.value=='******') this.value='';" >
</p>
<p class="int-info">
<label class="ui-label"> </label>
<label for="agreement" class="ui-label-checkbox">
<input type="checkbox" value="" name="cookietime" id="cookietime" checked="checked" value="2592000">
<input type="hidden" name="notforward" id="notforward" value="1">
<input type="hidden" name="dosubmit" id="dosubmit" value="1">记住我的登录 </label>
<a rel="nofollow" class="aright" href="/?s=user-center-forgetpwd.html" target="_blank"> 忘记密码? </a></p>
<p class="int-btn"><a rel="nofollow" id="loginbt" class="loginbtn"><span>登录</span></a></p>
</form>
</div>
<form id="regform" action="/?s=user-center-reg.html" method="post">
<div class="login-reg" style="display: none;" id="con_login_2">
<input type="hidden" name="t" id="t"/>
<p class="int-text">
<input id="email" name="email" type="text" value="Email" onfocus="if(this.value=='Email'){this.value='';}" onblur="if(this.value==''){this.value='Email';};"></p>
<p class="int-text">
<input id="uname" name="username" type="text" value="用户名或昵称" onfocus="if(this.value=='用户名或昵称'){this.value='';}" onblur="if(this.value==''){this.value='用户名或昵称';};"></p>
<p class="int-text">
<input type="password" id="pwd" name="password" value="******" onBlur="if(this.value=='') this.value='******';" onFocus="if(this.value=='******') this.value='';"> </p>
<p class="int-text1"><span class="inputbox">
<input id="validate" name="validate" type="text" value="验证码" onfocus="if(this.value=='验证码'){this.value='';}" onblur="if(this.value==''){this.value='验证码';};">
</span><span class="yzm-img"><img src="/?s=user-checkcode-index" alt="看不清楚换一张" id="indexlogin"></p>
<p class="int-info">
<label>
<input value="" name="agreement" id="agreement" CHECKED="checked" type="checkbox">
我已阅读<a rel="nofollow" href="/?s=user-center-agreement.html">用户协议</a>及<a rel="nofollow" href="/?s=user-center-agreement.html">版权声明</a></label>
</p>
<p class="int-btn"><input type="hidden" name="dosubmit"/>
<a rel="nofollow" class="loginbtn" id="register"><span>注册</span></a></p>
</div>
</form>
</div>
</div>
</div>
</div>
<script type="text/javascript" src="/kan/js/foot_js.js"></script>
<div id="footer">
<div class="w1200">
<p class="tips_text">本站所有资源全部来源于网络,若本站发布的内容侵害到您的隐私或者利益,请联系我们删除!
<a href="/?s=gb-show-p-1.html" title="合作方式" target="_blank">合作方式</a></p>
<p class="tips_text">Copyright © 2004-2018 https://www.gxlcms.com/. All Rights Reserved.<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?afb4873a3fbaa95f710a04306bfb4a0b";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
<a href="http://beian.miit.gov.cn/" target="_blank">豫ICP备19030742号</a></p>
</div>
</div>
<link rel="stylesheet" href="/Public/del/css/list.css"> </body>
</html>
内容总结
以上是互联网集市为您收集整理的JavaScript将XML转成JSON的方法_javascript技巧全部内容,希望文章能够帮你解决JavaScript将XML转成JSON的方法_javascript技巧所遇到的程序开发问题。
如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
来源:【匿名】