/// <summary>
 ///通过xml路径及keyAttr属性获取vo传递给callBack回调.(如果该xml文件还未加载,调用此函数可触发其加载及解析).wsy 2013/3/28
 ///当keyAttr="[...]"时,返回该xml的所有解析数据.
 /// </summary>
 public void GetVO(string xmlPath, string keyAttr, GetVODelegate callBack)
 {
     if (dicVO.ContainsKey(xmlPath))
     {
         if (callBack != null)
         {
             callBack(GetVO(xmlPath, keyAttr));
         }
     }
     else
     {
         if (dicReadFunc.ContainsKey(xmlPath))
         {
             if (ResManager.Instance.ContainsRes(xmlPath))
             {
                 WWW wwwObj = ResManager.Instance.GetRes(xmlPath);
                 ReadXml(xmlPath, wwwObj.text);
                 if (callBack != null)
                 {
                     callBack(GetVO(xmlPath, keyAttr));
                 }
             }
             else
             {
                 ResManager.Instance.GetRes(xmlPath, Loaded);
                 if (callBack == null)
                 {
                     return;
                 }
                 GetVORecord temp = new GetVORecord(keyAttr, callBack);
                 if (dicCallBack.ContainsKey(xmlPath))
                 {
                     dicCallBack[xmlPath].Add(temp);
                 }
                 else
                 {
                     List <GetVORecord> list = new List <GetVORecord> ();
                     list.Add(temp);
                     dicCallBack.Add(xmlPath, list);
                 }
             }
         }
         else
         {
             Debug.LogWarning("Xml error:\"" + xmlPath + "\" not Regsiter!");
         }
     }
 }
 public GetVORecord(string keyAttr, GetVODelegate callBack)
 {
     this.keyAttr  = keyAttr;
     this.callBack = callBack;
 }