1
私は現在再生中の曲が更新されるXMLファイルをスキャンするラジオ局用のプログラムを作成しています。その後、引き出されたアーティスト名と曲名をXMLから私はウェブ上のデータを表示することができるようにURL。 XMLは、常に私は常に変化を見たいファイルを必要とする変更されているのでFileSystemWatcher XML VB.Net
Imports System.IO
Imports System.Xml
Public Class Form1
Private Sub BrowseButton_Click(sender As Object, e As EventArgs) Handles BrowseButton.Click
If OpenFileDialog1.ShowDialog = DialogResult.OK Then
XMLFileDirectoryTextBox.Text = OpenFileDialog1.FileName
End If
End Sub
Private Sub StartButton_Click(sender As Object, e As EventArgs) Handles StartButton.Click
If (XMLFileDirectoryTextBox.Text = "") Then
MessageBox.Show("XML file not found. Please select your XML file and try again.")
Else
If (System.IO.File.Exists(XMLFileDirectoryTextBox.Text.ToString())) Then
Dim document As XmlReader = New XmlTextReader(XMLFileDirectoryTextBox.Text.ToString())
While (document.Read())
Dim type = document.NodeType
If (type = XmlNodeType.Element) Then
If (document.Name = "ARTIST") Then
ArtistNameTextBox.Visible = True
ArtistNameTextBox.Text = document.ReadInnerXml.ToString()
End If
If (document.Name = "TITLE") Then
SongTitleTextBox.Visible = True
SongTitleTextBox.Text = document.ReadInnerXml.ToString()
End If
End If
End While
End If
End If
End Sub
:ここ
は私はXMLから必要なデータをスキャンして表示するように書かれているコードです。このため、VBでSystemFileWatcherクラスを使用することに決めました。私はそれを行こうとしましたが、SystemFileWatcherが見ることができるのは、特定のファイルではなく変更のためにフォルダを見ることだけです。
私は非常にコード化しているので、申し訳ありませんが、上記のコード内の悪い技術があれば(私はまだ学んでいます)、誰かが私を助けてくれれば大いに感謝します。
ありがとうございました。
C#の答えは[FileSystemWatcher.NotifyFilterプロパティ]のちょうどペーストであることが(https://msdn.microsoft.com/en-us/library/ system.io.filesystemwatcher.notifyfilter(v = vs.85).aspx/html?cs-save-lang = 1&cs-lang = csharp#code-snippet-5)これはリンクされていますが、ペーストであると言います – Plutonix
@Matt Wilko私はこれを見ましたが、私の問題はopenfiledialogを持っていて、プログラムで使用する正確なXMLを定義できることです。上記のコードはフォルダを選択し、(* .txt)ファイルが私の場合は、XMLを持っているフォルダでは、私はその唯一のXMLが必要ではありません。 –
ただ一つのファイルを見るべきである 'watcher.Filter =" MyExactFilename.xml "を変更してください –