zoukankan      html  css  js  c++  java
  • js xml转化json

    转载:https://www.cnblogs.com/xyyt/p/13037732.html

    /**
    * xml字符串转换xml对象数据
    * @param {Object} xmlStr
    */
    function xmlStr2XmlObj(xmlStr) {
    var xmlObj = {};
    if (document.all) {
    var xmlDom = new ActiveXObject("Microsoft.XMLDOM");
    xmlDom.loadXML(xmlStr);
    xmlObj = xmlDom;
    } else {
    xmlObj = new DOMParser().parseFromString(xmlStr, "text/xml");
    }
    return xmlObj;
    }
    
    /**
    * xml字符串转换json数据
    * @param {Object} xml
    */
    function xmlObj2json(xml) {
    var xmlObj = xmlStr2XmlObj(xml);
    var jsonObj = {};
    if (xmlObj.childNodes.length > 0) {
    jsonObj = xml2json(xmlObj);
    }
    return jsonObj;
    }
    
    /**
    * xml转换json数据
    * @param {Object} xml
    */
    function xml2json(xml) {
    try {
    var obj = {};
    if (xml.children.length > 0) {
    for (var i = 0; i < xml.children.length; i++) {
    var item = xml.children.item(i);
    var nodeName = item.nodeName;
    if (typeof (obj[nodeName]) == "undefined") {
    obj[nodeName] = xml2json(item);
    } else {
    if (typeof (obj[nodeName].push) == "undefined") {
    var old = obj[nodeName];
    obj[nodeName] = [];
    obj[nodeName].push(old);
    }
    obj[nodeName].push(xml2json(item));
    }
    }
    } else {
    obj = xml.textContent;
    }
    return obj;
    } catch (e) {
    console.log(e.message);
    }
    }
  • 相关阅读:
    io学习三
    io学习二
    io学习一
    多线程学习(十五)
    spring源码阅读(四)
    多线程学习(十四)
    多线程学习(十三)
    设计模式(一)
    spring源码阅读(三)
    spring源码阅读(二)
  • 原文地址:https://www.cnblogs.com/yeyuqian/p/14410904.html
Copyright © 2011-2022 走看看