我在这种情况下的首选是创建一个DataSet与DataTables的配置数据以良好的关系方式排列 - 然后使用DataSet.WriteXML()将其保存到配置文件。
然后再次加载它,你只需要使用DataSet.ReadXML(),它回到了一个很好的可查询对象中。
这是一个示例配置文件,我的应用程序允许用户在文本编辑器窗口中编辑:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<!--****************************************************************
Config File: FileToExcel_test.cfg
Author: Ron Savage
Date: 06/20/2008
Description:
File to test parsing a file into an Excel workbook.
Modification History:
Date Init Comment
06/20/2008 RS Created.
******************************************************************-->
<!--********************************************************************
Global Key Definitions
********************************************************************-->
<config key="sqlTimeout" value="1800"/>
<config key="emailSMTPServer" value="smtp-server.austin.rr.com"/>
<config key="LogFile" value="FiletoExcel_test_{yyyy}{mm}{hh}.log"/>
<config key="MaxEntries" value="1"/>
<!--********************************************************************
Delimiter Configurations
********************************************************************-->
<config key="pipe" value="|"/>
<!--********************************************************************
Source/Target Entries
********************************************************************-->
<config key="source_1" value="FILE, c:\inetpub\ftproot\filetoexcel.txt, pipe, , , , , "/>
<config key="target_1" value="XLS, REPLACE, c:\inetpub\ftproot\filetoexcel1.xls, , , , , , , ,c:\inetpub\ftproot\filetoexcel_template.xls, ,3"/>
<config key="notify_1" value="store_error, store_success"/>
</configuration>
当我把它加载到DataSet中,所有非注释标记位于名为表配置与字段密钥 & 值。非常容易搜索。
能人实际上神交一个DataSet的XML序列化? – Benoit 2008-10-07 00:27:14
当然,这取决于配置表结构的复杂性。我的配置加载到一个名为Config的DataTable中,并带有两个字段(键,值)。我只是使用DataSet读取它并访问设置 - 我的应用程序将其加载到文本编辑器中进行编辑。 – 2008-10-07 00:37:18