c# - 循环读取 XML 文件

标签 c# mysql xml loops

我刚刚开始学习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/

相关文章:

Java DOM 弄乱了我的 XML header 并自行添加属性

C# 按字母顺序排序 a - z,然后排序为 aa、ab - zz

java - 不将字符串列表作为单个参数传递给 preparedStatement.setObject()

php - SQLSTATE[HY000] : General error: 2014 Cannot execute queries while other unbuffered queries are active

php - JOIN 2 具有不同列的表

xml - 当我尝试打开 .xsd 文件时阻止 Visual Studio 2008 创建 .xsc 和 .xss 文件

java - 如何在 Jaxb 编写的 XML 中添加 <![CDATA[ 和 ]]>

c# - 从 XMLDocument 读取第一个节点

java - C# 等效于 Java 的 BreakIterator

c# - 从 StreamReader.ReadLine() 获取的字符串的编码是什么