Я пытаюсь прочитать текстовый документ, который разделен на «абзацы» информации, которые имеют одинаково отформатированные заголовки.
Цель состоит в том, чтобы добавить каждый заголовок заголовка как родительский элемент к treeView
, а остальную информацию заголовка как дочерний элемент к treeView
.
. Добавить заголовки легко,Однако у меня проблемы с добавлением детей к правильному родителю.Я использую StreamReader
, чтобы прочитать каждую строку, найти начало «абзаца» и создать родительский элемент.Дети, которых я должен добавить, будут в следующих трех строках.Как мне текущую линию от StreamReader's
ReadLine()
?Или есть лучший способ сделать это?
using (var sr = new StreamReader(file))
{
string line;
while ((line = sr.ReadLine()) != null)
{
//Sheet name
if (line.Contains("Sheet Name"))
{
string parentNodeName = line.Split('=')[1].Trim();
//Add Parent
treeView.Nodes.Add(parentNodeName);
//Add children, on next 3 lines
treeView.Nodes[parentNodeName].Nodes.Add("Child-1 Text"); //on next line
treeView.Nodes[parentNodeName].Nodes.Add("Child-2 Text"); //on next next line
treeView.Nodes[parentNodeName].Nodes.Add("Child-3 Text"); //etc
}
}
sr.Close();
sr.Dispose();
}
Пример текста (заголовок "абзаца") из файла:
800: Sheet Name = Sheet3
999 : Process = 2
1000 : Material = AL,CR,STEEL
1001 : Cut Quality = 0,1,2,3,4,5,6,7,8
Собираюсь проанализировать эти строки, которые будут добавлены вдерево, добавление дочерних элементов к идентичным родительским узлам.Нравится:
Sheet3
2
AL,CR,STEEL
0,1,2,3,4,5,6,7,8
SS
0,1,2,3,4,5,6,7,8
MS
0,1,2,3,4,5
4
AL,CR,STEEL
0,1,2,3,4,5,6,7,8
MS
0,1,2,3,4,5
10
AL,CR,STEEL
0,1,2,3,4,5,6,7,8
SS
0,1,2,3,4,5,6,7,8