ホームページ  >  記事  >  ウェブフロントエンド  >  XML を JSON_javascript に変換する JavaScript メソッドのスキル

XML を JSON_javascript に変換する JavaScript メソッドのスキル

WBOY
WBOYオリジナル
2016-05-16 16:09:541477ブラウズ

この記事の例では、JavaScript が XML を JSON に変換する方法について説明します。皆さんの参考に共有してください。具体的な方法は以下の通りです。

1. JavaScript コードは次のとおりです:

コードをコピー コードは次のとおりです:
// XML を JSON に変更します
関数 xmlToJson(xml) {
// 戻りオブジェクトを作成します
var obj = {};
If (xml.nodeType == 1) { // 要素
// 属性を実行します
If (xml.attributes.length > 0) {
obj["@attributes"] = {};
for (var j = 0; j var 属性 = xml.attributes.item(j);
obj["@attributes"][attribute.nodeName] =attribute.nodeValue;
}
}
} else if (xml.nodeType == 3) { // text
obj = xml.nodeValue;
}
// 子を実行します
If (xml.hasChildNodes()) {
for(var i = 0; i var item = xml.childNodes.item(i);
var ノード名 = item.nodeName;
If (typeof(obj[nodeName]) == "未定義") {
obj[nodeName] = xmlToJson(item);
} else {
If (typeof(obj[nodeName].length) == "未定義") {
var old = obj[ノード名];
obj [nodename] = [];
obj [nodename] .push(old);
}
obj[nodeName].push(xmlToJson(item));
}
}
}
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> <ランク="5952"/><br> <RANK DELTA="-1648"/><br> </SD><br> </ALEXA></sd> </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>     VER: "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> <p>jsoperxml に関する興味深い友人のオンラインツール:</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>声明:</span><div>この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。</div></div></div><div class="nphpSytBox"><span>前の記事:<a class="dBlack" title="ポップアップ ウィンドウがブロックされているかどうかを確認する JavaScript メソッドとテクニック_JavaScript テクニック" href="http://m.php.cn/ja/faq/8467.html">ポップアップ ウィンドウがブロックされているかどうかを確認する JavaScript メソッドとテクニック_JavaScript テクニック</a></span><span>次の記事:<a class="dBlack" title="ポップアップ ウィンドウがブロックされているかどうかを確認する JavaScript メソッドとテクニック_JavaScript テクニック" href="http://m.php.cn/ja/faq/8469.html">ポップアップ ウィンドウがブロックされているかどうかを確認する JavaScript メソッドとテクニック_JavaScript テクニック</a></span></div><div class="nphpSytBox2"><div class="nphpZbktTitle"><h2>関連記事</h2><em><a href="http://m.php.cn/ja/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/ja/faq/1609.html" title="Bootstrap リスト グループ コンポーネントの詳細な分析" class="aBlack">Bootstrap リスト グループ コンポーネントの詳細な分析</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/ja/faq/1640.html" title="JavaScript関数のカリー化の詳細説明" class="aBlack">JavaScript関数のカリー化の詳細説明</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/ja/faq/1949.html" title="JS パスワードの生成と強度検出の完全な例 (デモ ソース コードのダウンロード付き)" class="aBlack">JS パスワードの生成と強度検出の完全な例 (デモ ソース コードのダウンロード付き)</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/ja/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/ja/faq/2351.html" title="JavaScript を使用して繁体字中国語と簡体字中国語をすばやく切り替える方法と、簡体字中国語と繁体字中国語の切り替えをサポートする Web サイトのトリック_javascript スキル" class="aBlack">JavaScript を使用して繁体字中国語と簡体字中国語をすばやく切り替える方法と、簡体字中国語と繁体字中国語の切り替えをサポートする Web サイトのトリック_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/ja/about/us.html">私たちについて</a><a href="http://m.php.cn/ja/about/disclaimer.html">免責事項</a><a href="http://m.php.cn/ja/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>