【项目】Project数据读写小程序,三:修改Project的xml格式的文件

这个程序的功能是可以读取Project2003生成的xml文件,把所有的任务的名称都改为“边下军棋边吹水”,然后在e盘根目录输出为“aa.xml”。再用Project2003打开这个xml文件就可以了。

程序源代码

程序还没有完善,不过架构是出来的了。程序分为“Command”,“DataAccess”,“Entity”,“Bussiness”,“UI”五个命名空间,也就是分层结构。

首先是获取数据:

通过Command命名空间中的DataOperator读取xml文件。这里使用了强类型的DataSet,就是那个MPPFileDataSet。通过网上的资料,我使用.Net的工具XSD.exe生成这个MPPFileDataSet.xsd文件,再在vs2005的资源管理器中把这个文件包括进来,就可以生成强类型的DataSet了。

接着是装载数据到实体:

由于是使用强类型的DataSet,装载数据就方便多了。使用DataAccess中的xxDA把数据从DataSet读到Entity的xx中。要注意的是Project,和ProjectDA类是包含了其他所有的类的,这是仿照Project的xml标签的层次的。(Project可以说就是原来SampleCaculator的Network,而Task就是Vertex)

接下是业务层:

通过前面几个步骤得到数据,并装载到我们定义的数据结构中,这样就可以对数据进行操作了。就是说所有的与网络计划的计算,优化的类、方法都放在这里面。在这个程序里我只简单的写了个ChangeNameBuss,就是改变任务的名称。

数据的返回:

对数据操作完了,就还是通过DataAccess->Command回传。

这样分层的好处就是结构清晰,以后关于网络优化的代码只要写到Bussiness中就可以了。