home *** CD-ROM | disk | FTP | other *** search
/ ftp.novell.com / 2014.06.ftp.novell.com.tar / ftp.novell.com / forge / camtasia.msi / Cabs.w1.cab / camtasia_player_ext.swf9 / scripts / __Packages / com / techsmith / utils / ConfigXML2Object.as < prev    next >
Text File  |  2009-08-17  |  2KB  |  72 lines

  1. class com.techsmith.utils.ConfigXML2Object
  2. {
  3.    function ConfigXML2Object()
  4.    {
  5.    }
  6.    function transform(node)
  7.    {
  8.       var _loc3_ = {};
  9.       this.parseNode(node,_loc3_);
  10.       return _loc3_;
  11.    }
  12.    function parseNode(node, obj, nDepth)
  13.    {
  14.       if(nDepth == undefined)
  15.       {
  16.          nDepth = 0;
  17.       }
  18.       if(node.childNodes[0].nodeName == null || node.childNodes[0].nodeName == undefined)
  19.       {
  20.          obj[node.nodeName] = "";
  21.          if(node.childNodes.length == 1)
  22.          {
  23.             obj[node.nodeName] = node.childNodes[0].nodeValue;
  24.             obj[node.nodeName] = obj[node.nodeName].split("\r").join("");
  25.          }
  26.          if(node.attributes.type == "Number")
  27.          {
  28.             obj[node.nodeName] = Number(obj[node.nodeName]);
  29.          }
  30.          if(node.attributes.type == "Boolean")
  31.          {
  32.             obj[node.nodeName] = obj[node.nodeName].toLowerCase() == "true" || Number(obj[node.nodeName]);
  33.          }
  34.          return undefined;
  35.       }
  36.       var _loc5_ = obj;
  37.       var _loc6_ = node.nodeName == "array";
  38.       if(nDepth >= 2 && !_loc6_)
  39.       {
  40.          var _loc0_ = null;
  41.          _loc5_ = obj[node.nodeName] = new Object();
  42.       }
  43.       for(var a in node.attributes)
  44.       {
  45.          _loc5_[a] = node.attributes[a];
  46.       }
  47.       if(_loc6_)
  48.       {
  49.          if(node.hasChildNodes())
  50.          {
  51.             var _loc0_ = null;
  52.             _loc5_ = obj[node.childNodes[0].nodeName] = new Array(node.childNodes.length);
  53.             var _loc7_ = 0;
  54.             while(_loc7_ < node.childNodes.length)
  55.             {
  56.                var _loc8_ = new Object();
  57.                this.parseNode(node.childNodes[_loc7_],_loc8_,nDepth + 1);
  58.                _loc5_[_loc7_] = _loc8_[node.childNodes[_loc7_].nodeName];
  59.                _loc7_ = _loc7_ + 1;
  60.             }
  61.          }
  62.       }
  63.       else
  64.       {
  65.          for(var i in node.childNodes)
  66.          {
  67.             this.parseNode(node.childNodes[i],_loc5_,nDepth + 1);
  68.          }
  69.       }
  70.    }
  71. }
  72.