public static ReportReader Instance()
 {
     if (_Reader == null)
     {
         _Reader = new ReportReader();
     }
     return(_Reader);
 }
        /// <summary>
        ///  根据指定的报表文件打开一张报表
        /// </summary>
        /// <param name="pFullPath"></param>
        /// <returns></returns>
        public static DIYReport.ReportModel.RptReport OpenReport(string pFullPath)
        {
            bool b = System.IO.File.Exists(pFullPath);

            if (b)
            {
                try{
                    XmlDocument doc = new XmlDocument();
                    doc.Load(pFullPath);

                    DIYReport.ReportModel.RptReport report = ReportReader.Instance().BuildReport(doc);

                    report.RptFilePath = pFullPath;
                    return(report);
                }
                catch (Exception e) {
                    Debug.Assert(false, "打开报表出错!", e.Message);
                }
            }
            return(null);
        }