我刚刚开始学习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;
}
所以这是一次,但现在,我想做的是,可以说,我有两个名为“开始”和“停止”的按钮,一旦开始,循环应该继续读取文件,因为文件已更新每隔 1 秒,然后当我单击“停止”按钮时,整个过程应该停止。
此外,我需要将此值存储在数据库中,所以您认为每秒将其插入到 MySql 中是一个糟糕的选择吗?
请帮忙
最佳答案
如果您确定要每秒读取文件而不是像 remio 建议的那样使用 FileSystemWatcher
,则应该使用计时器。 .Net 中有多种可用的计时器。您应该选择哪一个取决于您拥有哪种类型的应用程序(Winforms 或 WPF)。
每秒将值插入数据库应该不成问题。但您应该做好处理大量数据的准备,如果您连续几个月这样做,数据量将达到千兆字节。
关于c# - 循环读取 XML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9453605/