clsSimuResultByOneGoods público GetOneGoodsSimulationXML (cadena PathAndFileName)
{
clsSimuResultByOneGoods OneGoods = new clsSimuResultByOneGoods();//自己定义的一个类
Hashtable AllLocationResult = nueva Hashtable();
System.Xml.XmlTextReader r = nuevo XmlTextReader(PathAndFileName);
cadena ID de ubicación = "";
Tabla de datos UbicaciónTabla = nulo;
mientras(r.Leer())
{
si (r.NodeType == XmlNodeType.Element)
{
cambiar(r.NombreLocal)
{
caso "Resultado":
OneGoods.GoodsCode = r.GetAttribute("GoodsCode");
OneGoods.From = Convert.ToDateTime(r.GetAttribute("FromDate"));
OneGoods.To = Convert.ToDateTime(r.GetAttribute("ToDate"));
romper;
caso "Ubicación":
UbicaciónID = r.GetAttribute("ID");
UbicaciónTabla = nueva Tabla de datos();
LocationTable.Columns.Add("Fecha",tipode(FechaHora));
LocationTable.Columns.Add("SafetyStock",tipode(decimal));
LocationTable.Columns.Add("ForecastDemand",tipode(decimal));
LocationTable.Columns.Add("FinalOutput",tipode(decimal));
LocationTable.Columns.Add("FinalInput",tipode(decimal));
LocationTable.Columns.Add("SimuStock",tipode(decimal));
LocationTable.Columns.Add("SimuStockTime",tipode(decimal));
LocationTable.Columns.Add("ImportarDíaTrabajo",tipode(bool));
LocationTable.Columns.Add("ImportarDíaTrabajo",tipode(bool));
romper;
caso "Registro":
si (Tabla de ubicaciones! = nulo)
{
DataRow dr = LocationTable.NewRow();
dr["Fecha"] = Convert.ToDateTime(r.GetAttribute("Fecha"));
if(r.GetAttribute("SafetyStock") != nulo && 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") != nulo && r.GetAttribute("FinalInput") != "")
dr["FinalInput"] = Convert.ToDecimal(r.GetAttribute("FinalInput"));
if(r.GetAttribute("FinalOutput") != nulo && r.GetAttribute("FinalOutput") != "")
dr["FinalOutput"] = Convert.ToDecimal(r.GetAttribute("FinalOutput"));
if(r.GetAttribute("SimuStock") != nulo && r.GetAttribute("SimuStock") != "")
dr["SimuStock"] = Convert.ToDecimal(r.GetAttribute("SimuStock"));
if(r.GetAttribute("SimuStockTime") != nulo && 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"));
UbicaciónTable.Rows.Add(dr);
}
romper;
por defecto:
romper;
}
}
de lo contrario si (r.NodeType == XmlNodeType.EndElement)
{
cambiar(r.NombreLocal)
{
caso "Ubicación":
si (Tabla de ubicaciones! = nulo)
{
UbicaciónTable.AcceptChanges();
AllLocationResult.Add(UbicaciónID,UbicaciónTabla);
ID de ubicación = "";
UbicaciónTabla = nulo;
}
romper;
por defecto:
romper;
}
}
}
OneGoods.AllLocationResult = AllLocationResult;
devolver OneGoods;
}