DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> XML學習教程 >> XML詳解 >> 從XML中讀取數據到內存的實例
從XML中讀取數據到內存的實例
編輯:XML詳解     

public clsSimuResultByOneGoods GetOneGoodsSimulationXML(string PathAndFileName)
    {
      clsSimuResultByOneGoods OneGoods = new clsSimuResultByOneGoods();//自己定義的一個類
      Hashtable AllLocationResult = new Hashtable();
      System.Xml.XmlTextReader r = new XMLTextReader(PathAndFileName);
      string LocationID = "";
      DataTable LocationTable = null;
      while(r.Read())
      {
        if(r.NodeType == XMLNodeType.Element)
        {
          switch(r.LocalName)
          {
            case "Result":
              OneGoods.GoodsCode = r.GetAttribute("GoodsCode");
              OneGoods.From = Convert.ToDateTime(r.GetAttribute("FromDate"));
              OneGoods.To = Convert.ToDateTime(r.GetAttribute("ToDate"));
              break;
            case "Location":
              LocationID = r.GetAttribute("ID");
              LocationTable = new DataTable();
              LocationTable.Columns.Add("Date",typeof(DateTime));
              LocationTable.Columns.Add("SafetyStock",typeof(decimal));
              LocationTable.Columns.Add("ForecastDemand",typeof(decimal));
              LocationTable.Columns.Add("FinalOutput",typeof(decimal));
              LocationTable.Columns.Add("FinalInput",typeof(decimal));
              LocationTable.Columns.Add("SimuStock",typeof(decimal));
              LocationTable.Columns.Add("SimuStockTime",typeof(decimal));
              LocationTable.Columns.Add("ImportWorkDay",typeof(bool));
              LocationTable.Columns.Add("ImportWorkDay",typeof(bool));
              break;
            case "Record":
              if(LocationTable != null)
              {
                DataRow dr = LocationTable.NewRow();
                dr["Date"] = Convert.ToDateTime(r.GetAttribute("Date"));
                if(r.GetAttribute("SafetyStock") != null && r.GetAttribute("SafetyStock") != "")
                  dr["SafetyStock"] = Convert.ToDecimal(r.GetAttribute("SafetyStock"));
                if(r.GetAttribute("ForecastDemand") != null && r.GetAttribute("ForecastDemand") != "")
                  dr["ForecastDemand"] = Convert.ToDecimal(r.GetAttribute("ForecastDemand"));
                if(r.GetAttribute("FinalInput") != null && r.GetAttribute("FinalInput") != "")
                  dr["FinalInput"] = Convert.ToDecimal(r.GetAttribute("FinalInput"));
                if(r.GetAttribute("FinalOutput") != null && r.GetAttribute("FinalOutput") != "")
                  dr["FinalOutput"] = Convert.ToDecimal(r.GetAttribute("FinalOutput"));
                if(r.GetAttribute("SimuStock") != null && r.GetAttribute("SimuStock") != "")
                  dr["SimuStock"] = Convert.ToDecimal(r.GetAttribute("SimuStock"));
                if(r.GetAttribute("SimuStockTime") != null && r.GetAttribute("SimuStockTime") != "")
                  dr["SimuStockTime"] = Convert.ToDecimal(r.GetAttribute("SimuStockTime"));
                if(r.GetAttribute("ImportWorkDay") != null && r.GetAttribute("ImportWorkDay") != "")
                  dr["ImportWorkDay"] = Convert.ToBoolean(r.GetAttribute("ImportWorkDay"));
                if(r.GetAttribute("ExportWorkDay") != null && r.GetAttribute("ExportWorkDay") != "")
                  dr["ExportWorkDay"] = Convert.ToBoolean(r.GetAttribute("ExportWorkDay"));
                LocationTable.Rows.Add(dr);

              }
              break;
            default:
              break;
          }
        }
        else if(r.NodeType == XMLNodeType.EndElement)
        {
          switch(r.LocalName)
          {
            case "Location":
              if(LocationTable != null)
              {
                LocationTable.AcceptChanges();
                AllLocationResult.Add(LocationID,LocationTable);
                LocationID = "";
                LocationTable = null;
              }
              break;
            default:
              break;
          }
        }
      }
      OneGoods.AllLocationResult = AllLocationResult;
      return OneGoods;
      
    }



XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved