Maison  >  Article  >  interface Web  >  Méthode JavaScript pour convertir XML en compétences JSON_javascript

Méthode JavaScript pour convertir XML en compétences JSON_javascript

WBOY
WBOYoriginal
2016-05-16 16:09:541454parcourir

L'exemple de cet article décrit comment JavaScript convertit XML en JSON. Partagez-le avec tout le monde pour votre référence. La méthode spécifique est la suivante :

1. Le code JavaScript est le suivant :

Copier le code Le code est le suivant :
// Change XML en JSON
fonction xmlVersJson(xml) {
// Crée l'objet de retour
var obj = {};
If (xml.nodeType == 1) { // élément
               // faire des attributs
Si (xml.attributes.length > 0) {
         obj["@attributes"] = {};
pour (var j = 0; j < xml.attributes.length; j ) {
              attribut var = xml.attributes.item(j);
                     obj["@attributes"][attribute.nodeName] = attribue.nodeValue;
            }
>
} else if (xml.nodeType == 3) { // texte
         obj = xml.nodeValue;
>
// faire les enfants
Si (xml.hasChildNodes()) {
for(var i = 0; i < xml.childNodes.length; i ) {
            var item = xml.childNodes.item(i);
            var nodeName = item.nodeName;
Si (typeof(obj[nodeName]) == "undefined") {
                      obj[nodeName] = xmlToJson(item);
               } autre {
Si (typeof(obj[nodeName].length) == "undefined") {
                      var old = obj[nodeName];
                                                                                                                                                    obj[nodeName] = [];
                                                                                                                                           obj[nodeName].push(old);
                }
                     obj[nodeName].push(xmlToJson(item));
            }
>
>
Retourner l'objet ;
};

2. Code XML :
Copier le code Le code est le suivant :


             <br>            <LINKSIN NUM="1102"/><br>            <SPEED TEXT="1421" PCT="51"/><br> </SD><br> <SD><br>             <POPULARITÉ URL="davidwalsh.name/" TEXT="7131"/><br>            <REACH RANK="5952"/><br>            <RANK DELTA="-1648"/><br> </SD><br> </ALEXA></div> <br> 3. Résultat JSON : <br> <div class="codetitle"> <span><a style="CURSOR: pointer" data="35638" class="copybut" id="copybut35638" onclick="doCopy('code35638')"><u>Copier le code</u></a></span> Le code est le suivant :</div> <div class="codebody" id="code35638">{<br>   "@attributs": {<br>     AIDE : "=",<br>     MAISON : 0,<br>     URL : "davidwalsh.name/",<br>     VER : "0.9",<br>   },<br>   SD = [<br>     {<br>       "@attributs": {<br>         DRAPEAUX : "",<br>         HÔTE : "davidwalsh.name",<br>         TITRE : A<br>       },<br>       LIENSIN : {<br>         "@attributs": {<br>           NUMÉRO : 1102<br>         ><br>       },<br>       VITESSE : {<br>         "@attributs": {<br>           PCT : 51,<br>           TEXTE : 1421<br>         ><br>       },<br>       TITRE : {<br>         "@attributs": {<br>           TEXTE : "Blog David Walsh : : PHP, MySQL, CSS, Javascript, MooTools et tout le reste",<br>         ><br>       },<br>     },<br>     {<br>       POPULARITÉ : {<br>         "@attributs": {<br>           TEXTE : 7131,<br>           URL : "davidwalsh.name/"<br>         ><br>       },<br>       RANG : {<br>         "@attributs": {<br>           DELTA : "-1648"<br>         ><br>       },<br>       PORTÉE : {<br>         "@attributs": {<br>           RANG = 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>Déclaration:</span><div>Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn</div></div></div><div class="nphpSytBox"><span>Article précédent:<a class="dBlack" title="Méthodes et techniques JavaScript pour vérifier si les fenêtres contextuelles sont des techniques bloquées_javascript" href="http://m.php.cn/fr/faq/8467.html">Méthodes et techniques JavaScript pour vérifier si les fenêtres contextuelles sont des techniques bloquées_javascript</a></span><span>Article suivant:<a class="dBlack" title="Méthodes et techniques JavaScript pour vérifier si les fenêtres contextuelles sont des techniques bloquées_javascript" href="http://m.php.cn/fr/faq/8469.html">Méthodes et techniques JavaScript pour vérifier si les fenêtres contextuelles sont des techniques bloquées_javascript</a></span></div><div class="nphpSytBox2"><div class="nphpZbktTitle"><h2>Articles Liés</h2><em><a href="http://m.php.cn/fr/article.html" class="bBlack"><i>Voir plus</i><b></b></a></em><div class="clear"></div></div><ul class="nphpXgwzList"><li><b></b><a href="http://m.php.cn/fr/faq/1609.html" title="Une analyse approfondie du composant de groupe de liste Bootstrap" class="aBlack">Une analyse approfondie du composant de groupe de liste Bootstrap</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/fr/faq/1640.html" title="Explication détaillée du currying de la fonction JavaScript" class="aBlack">Explication détaillée du currying de la fonction JavaScript</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/fr/faq/1949.html" title="Exemple complet de génération de mot de passe JS et de détection de force (avec téléchargement du code source de démonstration)" class="aBlack">Exemple complet de génération de mot de passe JS et de détection de force (avec téléchargement du code source de démonstration)</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/fr/faq/2248.html" title="Angularjs intègre l'interface utilisateur WeChat (weui)" class="aBlack">Angularjs intègre l'interface utilisateur WeChat (weui)</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/fr/faq/2351.html" title="Comment basculer rapidement entre le chinois traditionnel et le chinois simplifié avec JavaScript et l'astuce permettant aux sites Web de prendre en charge le basculement entre les compétences en chinois simplifié et traditionnel_javascript" class="aBlack">Comment basculer rapidement entre le chinois traditionnel et le chinois simplifié avec JavaScript et l'astuce permettant aux sites Web de prendre en charge le basculement entre les compétences en chinois simplifié et traditionnel_javascript</a><div class="clear"></div></li></ul></div></div><div class="nphpFoot"><div class="nphpFootBg"><ul class="nphpFootMenu"><li><a href="http://m.php.cn/fr/"><b class="icon1"></b><p>Maison</p></a></li><li><a href="http://m.php.cn/fr/course.html"><b class="icon2"></b><p>Cours</p></a></li><li><a href="http://m.php.cn/fr/wenda.html"><b class="icon4"></b><p>Questions et réponses</p></a></li><li><a href="http://m.php.cn/fr/login"><b class="icon5"></b><p>Mon</p></a></li><div class="clear"></div></ul></div></div><div class="nphpYouBox" style="display: none;"><div class="nphpYouBg"><div class="nphpYouTitle"><span onclick="$('.nphpYouBox').hide()"></span><a href="http://m.php.cn/fr/"></a><div class="clear"></div></div><ul class="nphpYouList"><li><a href="http://m.php.cn/fr/"><b class="icon1"></b><span>Maison</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/fr/course.html"><b class="icon2"></b><span>Cours</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/fr/article.html"><b class="icon3"></b><span>Article</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/fr/wenda.html"><b class="icon4"></b><span>Questions et réponses</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/fr/dic.html"><b class="icon6"></b><span>Dictionnaire</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/fr/course/type/99.html"><b class="icon7"></b><span>Manuel</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/fr/xiazai/"><b class="icon8"></b><span>Télécharger</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/fr/faq/zt" title="Sujet"><b class="icon12"></b><span>Sujet</span><div class="clear"></div></a></li><div class="clear"></div></ul></div></div><div class="nphpDing" style="display: none;"><div class="nphpDinglogo"><a href="http://m.php.cn/fr/"></a></div><div class="nphpNavIn1"><div class="swiper-container nphpNavSwiper1"><div class="swiper-wrapper"><div class="swiper-slide"><a href="http://m.php.cn/fr/" >Maison</a></div><div class="swiper-slide"><a href="http://m.php.cn/fr/article.html" class="hover">Article</a></div><div class="swiper-slide"><a href="http://m.php.cn/fr/wenda.html" >Questions et réponses</a></div><div class="swiper-slide"><a href="http://m.php.cn/fr/course.html" >Cours</a></div><div class="swiper-slide"><a href="http://m.php.cn/fr/faq/zt" >Sujet</a></div><div class="swiper-slide"><a href="http://m.php.cn/fr/xiazai" >Télécharger</a></div><div class="swiper-slide"><a href="http://m.php.cn/fr/game" >Jeu</a></div><div class="swiper-slide"><a href="http://m.php.cn/fr/dic.html" >Dictionnaire</a></div><div class="clear"></div></div></div><div class="langadivs" ><a href="javascript:;" class="bg4 bglanguage"></a><div class="langadiv" ><a onclick="javascript:setlang('zh-cn');" class="language course-right-orders chooselan " href="javascript:;"><span>简体中文</span><span>(ZH-CN)</span></a><a onclick="javascript:setlang('en');" class="language course-right-orders chooselan " href="javascript:;"><span>English</span><span>(EN)</span></a><a onclick="javascript:setlang('zh-tw');" class="language course-right-orders chooselan " href="javascript:;"><span>繁体中文</span><span>(ZH-TW)</span></a><a onclick="javascript:setlang('ja');" class="language course-right-orders chooselan " href="javascript:;"><span>日本語</span><span>(JA)</span></a><a onclick="javascript:setlang('ko');" class="language course-right-orders chooselan " href="javascript:;"><span>한국어</span><span>(KO)</span></a><a onclick="javascript:setlang('ms');" class="language course-right-orders chooselan " href="javascript:;"><span>Melayu</span><span>(MS)</span></a><a onclick="javascript:;" class="language course-right-orders chooselan chooselanguage" href="javascript:;"><span>Français</span><span>(FR)</span></a><a onclick="javascript:setlang('de');" class="language course-right-orders chooselan " href="javascript:;"><span>Deutsch</span><span>(DE)</span></a></div></div><script> var swiper = new Swiper('.nphpNavSwiper1', { slidesPerView : 'auto', observer: true,//修改swiper自己或子元素时,自动初始化swiper observeParents: true,//修改swiper的父元素时,自动初始化swiper }); </script></div></div><!--顶部导航 end--><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>