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;
}
查看全文
相关阅读:
安装插件 YouCompleteMe 成功却无法自动补全C++的解决办法
Ubuntu 16.04 使用 vim_plug 安装插件 YouCompleteMe 报错“ycmd server SHUT DOWN”
POJ #1062 昂贵的聘礼 有限制的最短路 枚举+dijkstra求最短路
POJ #3259 Wormholes 判负环 SPFA
POJ #1860 Currency Exchange 最短路径算法 Bellman-ford SPFA 判断负环
spfa 算法模板 可求带负权边的最短路 判断负环
POJ #1042 Gone Fishing 贪心
路人甲
Perface
1. Perface
原文地址:https://www.cnblogs.com/yangyang8848/p/378004.html
最新文章
Visual Studio 2012 怪异的自动重启
zabbix,php,nginx,mysql源码安装 神仙操作
jenkins使用5----gi服务器搭建连接
jenkins使用4----git maven工具连接
常用非关系型数据库产品介绍
tomcat 启动慢问题
LNMP安装,FastCGI说明
git&github入门使用
MySQL 主主配置
JavaScript图片轮播器
热门文章
《锋利的jQuery》心得笔记--One Sections
JavaScript选项卡
《JavaScript高级程序设计》心得笔记-----第五篇章
《JavaScript高级程序设计》心得笔记-----第四篇章
《JavaScript高级程序设计》心得笔记-----第三篇章
《JavaScript高级程序设计》心得笔记-----第二篇章
《JavaScript高级程序设计》心得笔记-----第一篇章
POJ #2485 Highways MST中的最大边权
POJ #1789 Truck History 最小生成树(MST) prim 稠密图 链式向前星
POJ #2253 Frogger 变种Dijkstra
Copyright © 2011-2022 走看看