Rumah >hujung hadapan web >tutorial js >Kaedah JavaScript untuk menukar XML kepada kemahiran JSON_javascript

Kaedah JavaScript untuk menukar XML kepada kemahiran JSON_javascript

WBOY
WBOYasal
2016-05-16 16:09:541506semak imbas

Contoh dalam artikel ini menerangkan cara JavaScript menukar XML kepada JSON. Kongsikan dengan semua orang untuk rujukan anda. Kaedah khusus adalah seperti berikut:

1. Kod JavaScript adalah seperti berikut:

Salin kod Kod adalah seperti berikut:
// Menukar XML kepada JSON
fungsi xmlToJson(xml) {
// Cipta objek kembali
var obj = {};
Jika (xml.nodeType == 1) { // elemen
               // lakukan atribut
Jika (xml.attributes.length > 0) {
         obj["@attributes"] = {};
untuk (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;
}
// buat anak
Jika (xml.hasChildNodes()) {
for(var i = 0; i < xml.childNodes.length; i ) {
            var item = xml.childNodes.item(i);
            var nodeName = item.nodeName;
Jika (typeof(obj[nodeName]) == "undefined") {
                      obj[nodeName] = xmlToJson(item);
              } lain {
Jika (typeof(obj[nodeName].length) == "undefined") {
                      var lama = obj[nodeName];
                                                                                                                                                                                                                                                             obj[nodeName] = [];
                                                                                                                                                                                                                                                    obj[nodeName].push(lama);
                }
                     obj[nodeName].push(xmlToJson(item));
            }
}
}
Kembalikan obj;
};

2. Kod XML:
Salin kod Kod adalah seperti berikut:


             <br>            <LINKSIN NUM="1102"/><br>            <SPEED TEXT="1421" PCT="51"/><br> </SD><br> <SD><br>             <URL POPULARITI="davidwalsh.name/" TEXT="7131"/><br>            <REACH RANK="5952"/><br>            <RANK DELTA="-1648"/><br> </SD><br> </ALEXA></div> <br> 3. Hasil JSON: <br> <div class="codetitle"> <span><a style="CURSOR: pointer" data="35638" class="copybut" id="copybut35638" onclick="doCopy('code35638')"><u>Salin kod</u></a></span> Kod adalah seperti berikut:</div> <div class="codebody" id="code35638">{<br>   "@atribut": {<br>     BANTUAN: "=",<br>     RUMAH:  0,<br>     URL: "davidwalsh.name/",<br>     VER: "0.9",<br>   },<br>   SD = [<br>     {<br>       "@atribut": {<br>         BENDERA: "",<br>         HOS: "davidwalsh.name",<br>         TAJUK: A<br>       },<br>       LINKSIN: {<br>         "@atribut": {<br>           NUM: 1102<br>         }<br>       },<br>       KELAJUAN: {<br>         "@atribut": {<br>           PCT: 51,<br>           TEKS: 1421<br>         }<br>       },<br>       TAJUK: {<br>         "@atribut": {<br>           TEKS: "Blog David Walsh :: PHP, MySQL, CSS, Javascript, MooTools dan Segala-galanya",<br>         }<br>       },<br>     },<br>     {<br>       POPULARITI: {<br>         "@atribut": {<br>           TEKS: 7131,<br>           URL: "davidwalsh.name/"<br>         }<br>       },<br>       PANGKAT: {<br>         "@atribut": {<br>           DELTA: "-1648"<br>         }<br>       },<br>       CAPAI: {<br>         "@atribut": {<br>           PANGKAT = 5952<br>         }<br>       }<br>     }<br>   ]<br> }</div> <p>关于js操作xml感兴趣的朋友还可参考在线工具:</p> <p><a target="_blank" href="http://tools.jb51.net/code/xmljson">在线XML/JSON互相转换工具</a><br> </p> <p><a target="_blank" href="http://tools.jb51.net/code/xmlformat">在线XML格式化/压缩工具</a><br> </p> <p>希望本文所述对大家的javascript程序设计有所帮助。</p></div><div class="nphpQianMsg"><div class="clear"></div></div><div class="nphpQianSheng"><span>Kenyataan:</span><div>Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn</div></div></div><div class="nphpSytBox"><span>Artikel sebelumnya:<a class="dBlack" title="Kaedah dan teknik JavaScript untuk menyemak sama ada tetingkap timbul adalah teknik blocked_javascript" href="https://m.php.cn/ms/faq/8467.html">Kaedah dan teknik JavaScript untuk menyemak sama ada tetingkap timbul adalah teknik blocked_javascript</a></span><span>Artikel seterusnya:<a class="dBlack" title="Kaedah dan teknik JavaScript untuk menyemak sama ada tetingkap timbul adalah teknik blocked_javascript" href="https://m.php.cn/ms/faq/8469.html">Kaedah dan teknik JavaScript untuk menyemak sama ada tetingkap timbul adalah teknik blocked_javascript</a></span></div><div class="nphpSytBox2"><div class="nphpZbktTitle"><h2>Artikel berkaitan</h2><em><a href="https://m.php.cn/ms/article.html" class="bBlack"><i>Lihat lagi</i><b></b></a></em><div class="clear"></div></div><ins class="adsbygoogle" style="display:block" data-ad-format="fluid" data-ad-layout-key="-6t+ed+2i-1n-4w" data-ad-client="ca-pub-5902227090019525" data-ad-slot="8966999616"></ins><script> (adsbygoogle = window.adsbygoogle || []).push({}); </script><ul class="nphpXgwzList"><li><b></b><a href="https://m.php.cn/ms/faq/1609.html" title="Analisis mendalam bagi komponen kumpulan senarai Bootstrap" class="aBlack">Analisis mendalam bagi komponen kumpulan senarai Bootstrap</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/ms/faq/1640.html" title="Penjelasan terperinci tentang fungsi JavaScript kari" class="aBlack">Penjelasan terperinci tentang fungsi JavaScript kari</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/ms/faq/1949.html" title="Contoh lengkap penjanaan kata laluan JS dan pengesanan kekuatan (dengan muat turun kod sumber demo)" class="aBlack">Contoh lengkap penjanaan kata laluan JS dan pengesanan kekuatan (dengan muat turun kod sumber demo)</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/ms/faq/2248.html" title="Angularjs menyepadukan UI WeChat (weui)" class="aBlack">Angularjs menyepadukan UI WeChat (weui)</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/ms/faq/2351.html" title="Cara cepat bertukar antara Cina Tradisional dan Cina Ringkas dengan JavaScript dan helah untuk tapak web menyokong pertukaran antara kemahiran_javascript Cina Ringkas dan Tradisional" class="aBlack">Cara cepat bertukar antara Cina Tradisional dan Cina Ringkas dengan JavaScript dan helah untuk tapak web menyokong pertukaran antara kemahiran_javascript Cina Ringkas dan Tradisional</a><div class="clear"></div></li></ul></div></div><ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-5902227090019525" data-ad-slot="5027754603"></ins><script> (adsbygoogle = window.adsbygoogle || []).push({}); </script><footer><div class="footer"><div class="footertop"><img src="/static/imghwm/logo.png" alt=""><p>Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!</p></div><div class="footermid"><a href="https://m.php.cn/ms/about/us.html">Tentang kita</a><a href="https://m.php.cn/ms/about/disclaimer.html">Penafian</a><a href="https://m.php.cn/ms/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><!-- Matomo --><script> var _paq = window._paq = window._paq || []; /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ _paq.push(['trackPageView']); _paq.push(['enableLinkTracking']); (function() { var u="https://tongji.php.cn/"; _paq.push(['setTrackerUrl', u+'matomo.php']); _paq.push(['setSiteId', '9']); var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); })(); </script><!-- End Matomo Code --></html>