В этой ситуации я предпочитаю создать 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, все теги без комментариев находятся в таблице с именем Config с полями Ключ & значение . Очень легко искать.