home *** CD-ROM | disk | FTP | other *** search
/ Champak 48 / cdrom_image.iso / Games / breakawish.swf / scripts / __Packages / Library / Utils / XmlTool.as < prev   
Encoding:
Text File  |  2007-09-28  |  3.4 KB  |  129 lines

  1. class Library.Utils.XmlTool
  2. {
  3.    var xmlData;
  4.    var sXmlFileName;
  5.    var bNoLoad;
  6.    var oListener;
  7.    function XmlTool(_sXmlName)
  8.    {
  9.       if(_sXmlName.length != undefined)
  10.       {
  11.          this.xmlData = new XML();
  12.          this.sXmlFileName = _sXmlName;
  13.          this.xmlData.ignoreWhite = true;
  14.          this.xmlData.onLoad = Library.Utils.Delegate.create(this,this.doInformListener);
  15.          this.xmlData.load(this.sXmlFileName);
  16.          this.bNoLoad = false;
  17.       }
  18.       else
  19.       {
  20.          this.bNoLoad = true;
  21.       }
  22.    }
  23.    function doSetListener(__oListener)
  24.    {
  25.       this.oListener = __oListener;
  26.    }
  27.    function doInformListener(__bSuccess)
  28.    {
  29.       this.oListener.onXMLLoadComplete(this,__bSuccess);
  30.    }
  31.    function isLoaded()
  32.    {
  33.       var _loc2_ = false;
  34.       if(this.bNoLoad || this.xmlData.getBytesLoaded() >= this.xmlData.getBytesTotal() && this.xmlData.getBytesTotal() > 2)
  35.       {
  36.          _loc2_ = true;
  37.       }
  38.       return _loc2_;
  39.    }
  40.    function getSubXml(_sNodeName, _xmlRef)
  41.    {
  42.       var _loc2_ = new XMLNode();
  43.       if(this.isLoaded())
  44.       {
  45.          var _loc5_ = this.xmlData;
  46.          if(_xmlRef != undefined)
  47.          {
  48.             _loc5_ = _xmlRef;
  49.          }
  50.          var _loc3_ = 0;
  51.          _loc2_ = _loc5_.firstChild;
  52.          while(_loc2_.nodeName != _sNodeName && _loc2_.hasChildNodes() && _loc2_ != undefined && _loc3_ < 256)
  53.          {
  54.             _loc2_ = _loc2_.firstChild;
  55.             _loc3_ = _loc3_ + 1;
  56.          }
  57.       }
  58.       return _loc2_;
  59.    }
  60.    function getLevelNode(_sNodeName, _xmlRef)
  61.    {
  62.       var _loc4_ = new XMLNode();
  63.       if(this.isLoaded())
  64.       {
  65.          var _loc3_ = this.xmlData.firstChild;
  66.          if(_xmlRef != undefined)
  67.          {
  68.             _loc3_ = _xmlRef;
  69.          }
  70.          var _loc2_ = 0;
  71.          while(_loc2_ < _loc3_.childNodes.length)
  72.          {
  73.             if(_loc3_.childNodes[_loc2_].nodeName == _sNodeName)
  74.             {
  75.                _loc4_ = _loc3_.childNodes[_loc2_];
  76.                _loc2_ = _loc3_.childNodes.length;
  77.             }
  78.             _loc2_ = _loc2_ + 1;
  79.          }
  80.       }
  81.       return _loc4_;
  82.    }
  83.    function getLevelNodeData(_sNodeName, _xmlRef)
  84.    {
  85.       var _loc4_ = new String();
  86.       if(this.isLoaded())
  87.       {
  88.          var _loc2_ = 0;
  89.          while(_loc2_ < _xmlRef.childNodes.length)
  90.          {
  91.             if(_xmlRef.childNodes[_loc2_].nodeName == _sNodeName)
  92.             {
  93.                _loc4_ = _xmlRef.childNodes[_loc2_].childNodes[0].nodeValue;
  94.                _loc2_ = _xmlRef.childNodes.length;
  95.             }
  96.             _loc2_ = _loc2_ + 1;
  97.          }
  98.       }
  99.       return _loc4_;
  100.    }
  101.    function getLevelNodeAttribute(_sNodeName, _sAttributeName, _xmlRef)
  102.    {
  103.       var _loc4_ = new String();
  104.       if(this.isLoaded())
  105.       {
  106.          var _loc2_ = 0;
  107.          while(_loc2_ < _xmlRef.childNodes.length)
  108.          {
  109.             if(_xmlRef.childNodes[_loc2_].nodeName == _sNodeName)
  110.             {
  111.                _loc4_ = _xmlRef.childNodes[_loc2_].attributes[_sAttributeName];
  112.                _loc2_ = _xmlRef.childNodes.length;
  113.             }
  114.             _loc2_ = _loc2_ + 1;
  115.          }
  116.       }
  117.       return _loc4_;
  118.    }
  119.    function doDestroy()
  120.    {
  121.       delete this.oListener;
  122.       delete this.xmlData;
  123.    }
  124.    function valueOf()
  125.    {
  126.       return this.xmlData.toString();
  127.    }
  128. }
  129.