2012-02-26 12 views
0

私はちょうどC#、 を習得し始めましたが、状況に直面しています。ループ内のXMLファイルを読む

私はこの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; 
} 

を拾ったコードは、だから、これは一度行われているが、今、私がやりたいことは、言うことができますされて、私は2つのボタンがありますされStartとStopという名前のファイルが1秒間更新され、Stopボタンをクリックすると全プロセスが停止するので、ファイルを読み込むとループが続行されます。

また、この値をデータベースに保存する必要があるため、これを毎晩MySqlに挿入すると悪い選択肢になると思いますか?

あなたが各秒のファイルを読み込み、remioが提案されているようFileSystemWatcherを使用しないで、あなたはタイマーを使用する必要がありますしていいなら

+1

「FileSystemWatcher」(http://msdn.microsoft.com/fr-fr/library/system.io.filesystemwatcher%28v=vs.100%29.aspx)を使用して、そのファイルを継続的に読み取ることを避けることができます。 ? – remio

答えて

1

を助けてください。 .Netにはいくつかのタイマーがあります。どちらを選択するかは、使用しているアプリケーションの種類(WinformsまたはWPF)によって異なります。

毎秒データベースに値を挿入することは問題ではありません。しかし、その量のデータを処理する準備をしておく必要があります。これを数ヶ月続けて行うと、ギガバイトになります。

+0

ありがとう、私はbackgroundworkerクラスを考えていた.. –

関連する問題