我刚开始学习C#, 但我面临着一种情况。
可以说,我有这个XML文件,它是由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秒,然后当我点击停止按钮时,整个过程应该停止。
另外,我需要将这个值存储在数据库中,所以你认为每秒在MySql中插入这个值会是一个不好的选择吗?
请帮忙
答案 0 :(得分:1)
如果您确定要每秒读取文件而不使用FileSystemWatcher
作为remio建议,则应使用计时器。 .Net中有几个计时器。您应该选择哪一个取决于您拥有的应用程序类型(Winforms或WPF)。
每秒将值插入数据库应该不是问题。但是你应该准备好处理那么多的数据,如果你连续几个月这样做,它会达到千兆字节。