从XML中读取数据到内存的实例

互联网 17-2-28
从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中读取数据到内存的实例的内容,更多相关内容请关注PHP中文网(www.php.cn)!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:Xml_javascript分页

相关资讯