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;
                
            }

  • 相关阅读:
    Atitit.播放系统规划新版本 v4 q18 and 最近版本回顾
    Atitit.播放系统规划新版本 v4 q18 and 最近版本回顾
    atitit.极光消息推送服务器端开发实现推送  jpush v3. 总结o7p
    atitit.极光消息推送服务器端开发实现推送  jpush v3. 总结o7p
    Atitit.文件搜索工具 attilax 总结
    Atitit.文件搜索工具 attilax 总结
    Atitit.软件命名空间  包的命名统计 及命名表(2000个名称) 方案java package
    Atitit.软件命名空间  包的命名统计 及命名表(2000个名称) 方案java package
    Atitit..状态机与词法分析  通用分词器 分词引擎的设计与实现 attilax总结
    Atitit..状态机与词法分析  通用分词器 分词引擎的设计与实现 attilax总结
  • 原文地址:https://www.cnblogs.com/yangyang8848/p/378004.html
Copyright © 2011-2022 走看看