我刚刚开始学习C#,但我正面临着这样的情况。
假设我有一个XML文件,它是由应用程序以1 1Hz的刷新率生成的。因此,我需要C#不断地解析这个文件,直到单击一个按钮停止操作。
这就是我所知道的,这是我从几个地方学到的代码
XmlDocument xml = new XmlDocument();
xml.Load("data.xml");
XmlNodeList xnList = xml.SelectNodes("/LiveData/Name");
int count = 1;
foreach (XmlNode xn in xnList)
{
string Name = xn["Name"].InnerText;
string Value= xn["Value"].InnerText;
Console.WriteLine("Values: {0} {1}", Name, Value);
count = count + 1;
}这只做了一次,但现在,我想要做的是,假设我有两个名为start和Stop的按钮,一旦我启动,循环应该会继续读取文件,因为文件每1秒更新一次,然后当我单击stop按钮时,整个过程应该会停止。
另外,我需要将这个值存储在数据库中,所以您认为每秒在MySql中插入这个值是不好的选择吗?
请帮帮忙
发布于 2012-02-27 00:43:32
如果你确定你想每秒读取文件,而不是像remio建议的那样使用FileSystemWatcher,你应该使用计时器。在.Net中有几个可用的计时器。您应该选择哪一个取决于您的应用程序类型(Winforms或WPF)。
每秒向数据库中插入这些值应该不是问题。但是你应该准备好处理这样的数据量,如果你连续几个月这样做,它将以go为单位。
https://stackoverflow.com/questions/9453605
复制相似问题