特色栏目

ASP源码

PHP源码

.NET源码

JSP源码

游戏频道
专题合集
关闭菜单
首页> XML教程> 从XML中读取数据到内存的实例

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

时间:2009-07-07 16:16:24 作者:互联网

public clsSimuResultByOneGoods GetOneGoodsSimulationXML(string PathAndFileName)
        {
            clsSimuResultByOneGoods OneGoods = new clsSimuResultByOneGoods();//自己定义的一个类
            Hashtable AllLocationResult = new Hashtable();
            Sy***m.Xml.XmlTextReader r = new XmlTextReader(PathAndFileName);
            string LocationID = "";
            DataTable LocationTable = null;
            while(r.Read())
            {
                if(r.***eType == Xm***deType.Element)
                {
                    switch(r.***alName)
                    {
                        case "Result":
                            On***ods.GoodsCode = r.***Attribute("GoodsCode");
                            On***ods.From = Co***rt.ToDateTime(r.***Attribute("FromDate"));
                            On***ods.To = Co***rt.ToDateTime(r.***Attribute("ToDate"));
                            break;
                        case "Location":
                            LocationID = r.***Attribute("ID");
                            LocationTable = new DataTable();
                            Lo***ionTable.Columns.Add("Date",typeof(DateTime));
                            Lo***ionTable.Columns.Add("SafetyStock",typeof(decimal));
                            Lo***ionTable.Columns.Add("ForecastDemand",typeof(decimal));
                            Lo***ionTable.Columns.Add("FinalOutput",typeof(decimal));
                            Lo***ionTable.Columns.Add("FinalInput",typeof(decimal));
                            Lo***ionTable.Columns.Add("SimuStock",typeof(decimal));
                            Lo***ionTable.Columns.Add("SimuStockTime",typeof(decimal));
                            Lo***ionTable.Columns.Add("ImportWorkDay",typeof(bool));
                            Lo***ionTable.Columns.Add("ImportWorkDay",typeof(bool));
                            break;
                        case "Record":
                            if(LocationTable != null)
                            {
                                DataRow dr = Lo***ionTable.NewRow();
                                dr["Date"] = Co***rt.ToDateTime(r.***Attribute("Date"));
                                if(r.***Attribute("SafetyStock") != null && r.***Attribute("SafetyStock") != "")
                                    dr["SafetyStock"] = Co***rt.ToDecimal(r.***Attribute("SafetyStock"));
                                if(r.***Attribute("ForecastDemand") != null && r.***Attribute("ForecastDemand") != "")
                                    dr["ForecastDemand"] = Co***rt.ToDecimal(r.***Attribute("ForecastDemand"));
                                if(r.***Attribute("FinalInput") != null && r.***Attribute("FinalInput") != "")
                                    dr["FinalInput"] = Co***rt.ToDecimal(r.***Attribute("FinalInput"));
                                if(r.***Attribute("FinalOutput") != null && r.***Attribute("FinalOutput") != "")
                                    dr["FinalOutput"] = Co***rt.ToDecimal(r.***Attribute("FinalOutput"));
                                if(r.***Attribute("SimuStock") != null && r.***Attribute("SimuStock") != "")
                                    dr["SimuStock"] = Co***rt.ToDecimal(r.***Attribute("SimuStock"));
                                if(r.***Attribute("SimuStockTime") != null && r.***Attribute("SimuStockTime") != "")
                                    dr["SimuStockTime"] = Co***rt.ToDecimal(r.***Attribute("SimuStockTime"));
                                if(r.***Attribute("ImportWorkDay") != null && r.***Attribute("ImportWorkDay") != "")
                                    dr["ImportWorkDay"] = Co***rt.ToBoolean(r.***Attribute("ImportWorkDay"));
                                if(r.***Attribute("ExportWorkDay") != null && r.***Attribute("ExportWorkDay") != "")
                                    dr["ExportWorkDay"] = Co***rt.ToBoolean(r.***Attribute("ExportWorkDay"));
                                Lo***ionTable.Rows.Add(dr);

                            }
                            break;
                        default:
                            break;
                    }
                }
                else if(r.***eType == Xm***deType.EndElement)
                {
                    switch(r.***alName)
                    {
                        case "Location":
                            if(LocationTable != null)
                            {
                                Lo***ionTable.AcceptChanges();
                                Al***cationResult.Add(LocationID,LocationTable);
                                LocationID = "";
                                LocationTable = null;
                            }
                            break;
                        default:
                            break;
                    }
                }
            }
            On***ods.AllLocationResult = AllLocationResult;
            return OneGoods;
           
        }

相关文章 最新文章

相关应用

热门文章

猜你喜欢

返回顶部