>  기사  >  웹 프론트엔드  >  XML을 JSON_javascript 기술로 변환하는 JavaScript 방법

XML을 JSON_javascript 기술로 변환하는 JavaScript 방법

WBOY
WBOY원래의
2016-05-16 16:09:541477검색

이 기사의 예에서는 JavaScript가 XML을 JSON으로 변환하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 방법은 다음과 같습니다.

1. 자바스크립트 코드는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.
// XML을 JSON으로 변경
함수 xmlToJson(xml) {
// 반환 객체 생성
var obj = {};
If (xml.nodeType == 1) { // 요소
               // 속성 수행
If (xml.attributes.length > 0) {
         obj["@attributes"] = {};
for (var j = 0; j < xml.attributes.length; j ) {
              var 속성 = xml.attributes.item(j);
                    obj["@attributes"][attribute.nodeName] = attribute.nodeValue;
            }
}
} else if (xml.nodeType == 3) { // 텍스트
         obj = xml.nodeValue;
}
// 아이들을 해라
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]) == "정의되지 않음") {
                     obj[nodeName] = xmlToJson(item);
              } else {
If (typeof(obj[nodeName].length) == "정의되지 않음") {
                     var old = obj[nodeName];
~                          obj[nodeName] = [];
Obj [노드 이름] .push (이전)
                }
                     obj[nodeName].push(xmlToJson(item));
            }
}
}
객체 반환;
};

2. XML 코드:
코드 복사 코드는 다음과 같습니다.


             <br>            <LINKSIN NUM="1102"/><br>            <SPEED TEXT="1421" PCT="51"/><br> </SD><br> <SD><br>             <인기 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><a style="CURSOR: pointer" data="35638" class="copybut" id="copybut35638" onclick="doCopy('code35638')"><u>코드 복사</u></a></span> 코드는 다음과 같습니다.</div> <div class="codebody" id="code35638">{<br>   "@속성": {<br>     지원: "=",<br>     홈:  0,<br>     URL: "davidwalsh.name/",<br>     버전: "0.9",<br>   },<br>   SD = [<br>     {<br>       "@속성": {<br>         플래그: "",<br>         호스트: "davidwalsh.name",<br>         제목: A<br>       },<br>       링크: {<br>         "@속성": {<br>           번호: 1102<br>         }<br>       },<br>       속도: {<br>         "@속성": {<br>           PCT: 51,<br>           텍스트: 1421<br>         }<br>       },<br>       제목: {<br>         "@속성": {<br>           텍스트: "David Walsh 블로그 :: PHP, MySQL, CSS, Javascript, MooTools 및 기타 모든 것",<br>         }<br>       },<br>     },<br>     {<br>       인기도: {<br>         "@속성": {<br>           텍스트: 7131,<br>           URL: "davidwalsh.name/"<br>         }<br>       },<br>       순위: {<br>         "@속성": {<br>           델타: "-1648"<br>         }<br>       },<br>       도달: {<br>         "@속성": {<br>           순위 = 5952<br>         }<br>       }<br>     }<br>   ]<br> }</div> 현재 线XML/JSON互상호<p><a target="_blank" href="http://tools.jb51.net/code/xmljson"> </a> <br></p>현재 线XML格式化/压缩工具<p><a target="_blank" href="http://tools.jb51.net/code/xmlformat"> </a> <br>希望本文所述对大家의 javascript는 程序设计有所帮助。</p></div><div class="nphpQianMsg"><div class="clear"></div></div><div class="nphpQianSheng"><span>성명:</span><div>본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.</div></div></div><div class="nphpSytBox"><span>이전 기사:<a class="dBlack" title="팝업 창이 차단되었는지 확인하는 JavaScript 방법 및 기술_javascript 기술" href="http://m.php.cn/ko/faq/8467.html">팝업 창이 차단되었는지 확인하는 JavaScript 방법 및 기술_javascript 기술</a></span><span>다음 기사:<a class="dBlack" title="팝업 창이 차단되었는지 확인하는 JavaScript 방법 및 기술_javascript 기술" href="http://m.php.cn/ko/faq/8469.html">팝업 창이 차단되었는지 확인하는 JavaScript 방법 및 기술_javascript 기술</a></span></div><div class="nphpSytBox2"><div class="nphpZbktTitle"><h2>관련 기사</h2><em><a href="http://m.php.cn/ko/article.html" class="bBlack"><i>더보기</i><b></b></a></em><div class="clear"></div></div><ul class="nphpXgwzList"><li><b></b><a href="http://m.php.cn/ko/faq/1609.html" title="Bootstrap 목록 그룹 구성 요소에 대한 심층 분석" class="aBlack">Bootstrap 목록 그룹 구성 요소에 대한 심층 분석</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/ko/faq/1640.html" title="JavaScript 함수 커링에 대한 자세한 설명" class="aBlack">JavaScript 함수 커링에 대한 자세한 설명</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/ko/faq/1949.html" title="JS 비밀번호 생성 및 강도 감지의 전체 예(데모 소스 코드 다운로드 포함)" class="aBlack">JS 비밀번호 생성 및 강도 감지의 전체 예(데모 소스 코드 다운로드 포함)</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/ko/faq/2248.html" title="Angularjs는 WeChat UI(weui)를 통합합니다." class="aBlack">Angularjs는 WeChat UI(weui)를 통합합니다.</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/ko/faq/2351.html" title="JavaScript를 사용하여 중국어 번체와 중국어 간체 간을 빠르게 전환하는 방법과 중국어 간체와 중국어 번체 간 전환을 지원하는 웹사이트의 요령_javascript 기술" class="aBlack">JavaScript를 사용하여 중국어 번체와 중국어 간체 간을 빠르게 전환하는 방법과 중국어 간체와 중국어 번체 간 전환을 지원하는 웹사이트의 요령_javascript 기술</a><div class="clear"></div></li></ul></div></div><footer><div class="footer"><div class="footertop"><img src="/static/imghwm/logo.png" alt=""><p>공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!</p></div><div class="footermid"><a href="http://m.php.cn/ko/about/us.html">회사 소개</a><a href="http://m.php.cn/ko/about/disclaimer.html">부인 성명</a><a href="http://m.php.cn/ko/update/article_0_1.html">Sitemap</a></div><div class="footerbottom"><p> © php.cn All rights reserved </p></div></div></footer><script>isLogin = 0;</script><script type="text/javascript" src="/static/layui/layui.js"></script><script type="text/javascript" src="/static/js/global.js?4.9.47"></script></div><script src="https://vdse.bdstatic.com//search-video.v1.min.js"></script><link rel='stylesheet' id='_main-css' href='/static/css/viewer.min.css' type='text/css' media='all'/><script type='text/javascript' src='/static/js/viewer.min.js?1'></script><script type='text/javascript' src='/static/js/jquery-viewer.min.js'></script><script>jQuery.fn.wait = function (func, times, interval) { var _times = times || -1, //100次 _interval = interval || 20, //20毫秒每次 _self = this, _selector = this.selector, //选择器 _iIntervalID; //定时器id if( this.length ){ //如果已经获取到了,就直接执行函数 func && func.call(this); } else { _iIntervalID = setInterval(function() { if(!_times) { //是0就退出 clearInterval(_iIntervalID); } _times <= 0 || _times--; //如果是正数就 -- _self = $(_selector); //再次选择 if( _self.length ) { //判断是否取到 func && func.call(_self); clearInterval(_iIntervalID); } }, _interval); } return this; } $("table.syntaxhighlighter").wait(function() { $('table.syntaxhighlighter').append("<p class='cnblogs_code_footer'><span class='cnblogs_code_footer_icon'></span></p>"); }); $(document).on("click", ".cnblogs_code_footer",function(){ $(this).parents('table.syntaxhighlighter').css('display','inline-table');$(this).hide(); }); $('.nphpQianCont').viewer({navbar:true,title:false,toolbar:false,movable:false,viewed:function(){$('img').click(function(){$('.viewer-close').trigger('click');});}}); </script></body></html>