void _watcher_Changed(object sender, FileSystemEventArgs e) { if (_watching) { XmlReader _reader = CreateXmlReader(); bool reading = true; while (reading) { try { reading = true; reading = _reader.Read(); } catch { } LogMessage message = new LogMessage(_reader.Name); for (int i = 0; i < _reader.AttributeCount; i++) { _reader.MoveToAttribute(i); message.AddAttribute(_reader.Name, _reader.Value); } foreach (LogHandler handler in this._handlers) { handler.HandleMessage(message); } } } }