【发布时间】:2018-11-27 12:45:32
【问题描述】:
最近我构建了一个小型转换器,可以将txt数据转换为特定结构的xml,我选择一个文件夹,程序循环遍历该文件夹中的所有文件,并以XML格式一起写入一个xml文档.
在文件夹中,我的数据名称如下:
数据.0001.txt
Data.0002.txt
Data.0003.txt
Data.0004.txt
数据.txt
等等
我只想要其中不包含零的文件,因为带有零的文件只是其他文件的备份副本,我有超过 6000 个文件,我无法手动过滤它们
这是我目前的代码
static void Main(string[] args)
{
FolderBrowserDialog SelectFolder = new FolderBrowserDialog();
String path = @"C:\newpages";
XmlDocument doc = new XmlDocument();
XmlElement root = doc.CreateElement("Pages");
if (SelectFolder.ShowDialog() == DialogResult.OK)
{
var txt = string.Empty;
string[] Files = Directory.GetFiles((SelectFolder.SelectedPath));
int i = 1;
foreach (string path1 in Files)
{
String filename = Path.GetFileNameWithoutExtension((path1));
using (StreamReader sr = new StreamReader(path1))
{
txt = sr.ReadToEnd();
XmlElement id = doc.CreateElement("Page.id");
id.SetAttribute("Page.Nr", i.ToString());
id.SetAttribute("Pagetitle", filename);
XmlElement name = doc.CreateElement("PageContent");
XmlCDataSection cdata = doc.CreateCDataSection(txt);
name.AppendChild(cdata);
id.AppendChild(name); // page id appenndchild
root.AppendChild(id); // roots appenedchild
doc.AppendChild(root); //Main root
}
i++;
}
}
Console.WriteLine("finished");
Console.ReadKey();
doc.Save(Path.ChangeExtension(path, ".xml"));
}
}
任何帮助都会非常好人
【问题讨论】:
-
不能像你的
foreach循环if(!filename.Contains("0"))那样简单 -
@AfnanAhmad 是的,实际上我是如此绝望,以至于我什至没有想到它应该是“.0”,因为总是有一个“。” ,谢谢你的帮助