Maison > interface Web > js tutoriel > Explication détaillée de l'opération JS de conversion d'un objet XML en objet Json

Explication détaillée de l'opération JS de conversion d'un objet XML en objet Json

迷茫
Libérer: 2017-03-26 15:04:58
original
1532 Les gens l'ont consulté

Récemment, alors que j'avais affaire à une fonction front-end, j'ai rencontré un problème. Le système d'origine utilisait du XML pour stocker les données, mais sur le nouveau système, je voulais les convertir en stockage objet json, j'ai donc envisagé directement en le convertissant en stockage d'objets json. L'objet XML est converti en objet json.

Jusqu'à présent, je n'ai pas trouvé de méthode de conversion universelle. Je ne peux utiliser qu'une boucle for pour attribuer en continu des valeurs basées sur la structure d'objet XML connue.

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);          
}
Copier après la connexion

La boucle for peut continuer à être imbriquée et les attributs de chaque nouvel objet json peuvent être personnalisés, mais vous devez remplir les attributs existants dont vous avez besoin dans la méthode getAttribute().

Cette méthode semble stupide, donc je vais l'utiliser comme ça pour le moment, et j'envisagerai de la remplacer lorsque je penserai à une meilleure méthode.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal