我有程序在树视图中添加和删除不需要的章节。我写入文件的所有内容,后来生成为PDF格式。首先,这是我的文件编写代码:
private void button3_Click(object sender, EventArgs e)
{
{
var header = File.ReadAllText(@"C:\dir\header.tex");
var footer = File.ReadAllText(@"C:\dir\footer.tex");
var sb = new StringBuilder();
sb.AppendLine(header);
foreach (TreeNode node in treeView1.Nodes)
{
var tag = node.Tag as string;
sb.AppendLine(string.IsNullOrEmpty(Text) ? node.Text : tag);
}
sb.AppendLine(footer);
File.WriteAllText(@"C: \dir\final.tex", sb.ToString());
}
{
var chapaheader = File.ReadAllText(@"C:\dir\chapaheader.tex");
var sba = new StringBuilder();
sba.AppendLine(chapaheader);
foreach (TreeNode node in treeView1.Nodes)
{
foreach (TreeNode child in node.Nodes)
{
var tag = child.Tag as string;
sba.AppendLine(string.IsNullOrEmpty(Text) ? child.Text : tag);
}
File.WriteAllText(@"C: \dir\chapterA.tex", sba.ToString());
}
我有大约5章,我不知道如何编写右章节文件中的每章章节。现在我的程序通过在主文件中添加正确的章节来做得很好,但章节A文件中充满了其他章节和章节B,C,D,E是空的。所以我认为我需要使它成为层次化的foreach循环。也许有些人可以帮助我?
感谢。
答案 0 :(得分:0)
您可以尝试使用此代码recursive method
IEnumerable<TreeNode> Iterate(TreeNodeCollection nodes)
{
foreach(TreeNode node in nodes)
{
yield return node;
foreach (var child in Iterate(node.Nodes)
{
yield return child;
}
}
}