ホームページ >ウェブフロントエンド >jsチュートリアル >XMLオブジェクトをJsonオブジェクトに変換するJS操作の詳細説明

XMLオブジェクトをJsonオブジェクトに変換するJS操作の詳細説明

迷茫
迷茫オリジナル
2017-03-26 15:04:581529ブラウズ

最近、フロントエンド関数を扱うときに問題が発生しました。元のシステムではデータを保存するために XML を使用していましたが、新しいシステムではそれを JSON オブジェクト ストレージに変換したかったため、XML オブジェクトを直接保存することを検討しました。 jsonオブジェクトに変換します。

これまでのところ、汎用的な変換方法は見つかっていません。既知の XML オブジェクト構造に基づいて値を継続的に割り当てるには、for ループを使用することしかできません。

var xml = ······;//获取xml对象
var objList = [];
for(var i = 0;i<xml.childNodes.length;i++){
    var obj = {};
    obj.attribute1 = xml.getAttribute("attribute1");//获取节点属性
    obj.attribute2 = xml.getAttribute("attribute2");
    obj.children = [];
    for(var x=0;x<xml.childNodes[i].childNodes.length;x++){
        var element = xml.childNodes[i].childNodes[x];
        var child = {};
        child.attribute1 = element.getAttribute("attribute1");
        child.attribute2 = element.getAttribute("attribute2");
        obj.children.push(child);
    }
    objList.push(obj);          
}

for ループはネストし続けることができ、新しい各 json オブジェクトの属性をカスタマイズできますが、必要な既存の属性を getAttribute() メソッドに入力する必要があります。

この方法はアホっぽいので、とりあえずはこのまま使って、もっと良い方法を思いついたら置き換えることも検討します。

以上がXMLオブジェクトをJsonオブジェクトに変換するJS操作の詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。