zoukankan      html  css  js  c++  java
  • 从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;
                
            }

  • 相关阅读:
    HashMap
    java反射
    arraylist和linkedlist区别
    int和Integer的区别
    java 数组排序并去重
    矩阵链乘法问题
    找零问题
    硬币收集问题
    最大借书量问题
    钢条切割问题
  • 原文地址:https://www.cnblogs.com/yangyang8848/p/378004.html
Copyright © 2011-2022 走看看