Мне нужна помощь при разборе текстового файла, который содержит несколько разделов. Файл указан в следующем формате:Файл конфигурации анализа C#
;This is a comment that should be ignored when parsing
;Colors in 24-bit format
#define BLUE 16711680
#define RED 255
[SETTINGS]
File Name
File Description
v1.0
[SECTION]
BLUE N033.56.09.699 W118.25.09.714
[SECTION2]
RED N033.56.13.675 W118.24.30.908
N033.56.13.675 W118.24.30.908
N033.56.16.034 W118.24.07.905
В принципе, мне нужно пропустить любые комментарии. Я также должен иметь возможность вытаскивать дочернее значение из раздела #define. Наконец, мне нужно разобрать каждую строку под каждым заголовком (например, [SETTINGS]
, [SECTION]
и т. Д.). Файл не ограничивается этими заголовками.
Вот что у меня есть сейчас, но это, очевидно, не работает.
string line;
while ((line = reader.ReadLine()) != null)
{
string[] items = line.Split('\t');
foreach (string item in items)
{
if(item.StartsWith("[SETTINGS]"))
{
}
if(item.StartsWith("[SECTIOn]"))
{
}
}
}
Не было бы проще использовать приложение. config или файл web.config с ''? Может быть, даже пользовательский раздел конфигурации? –
Tim
@Tim, короткий ответ: нет. Это связано с тем, что файл конфигурации, который должен быть проанализирован, импортируется конечным пользователем, поэтому могут быть разные варианты конфигурационных данных. – Nicholas
Что касается переменных в разделе «#define», они несут один и тот же формат пары значений ключа, как в '#define'] [' KEY'] ['VALUE' –