public void ReadXml(XmlReader reader) { if (reader.HasAttributes) { while (reader.MoveToNextAttribute()) { switch (reader.Name) { case "LogGUID": LogGUID = reader.ReadContentAsString(); break; case "LogFileID": LogFileID = reader.ReadContentAsString(); break; case "LogTypeKey": LogTypeKey = reader.ReadContentAsString(); break; case "LogUserID": LogUserID = reader.ReadContentAsInt(); break; case "LogEventID": LogEventID = reader.ReadContentAsInt(); break; case "LogUserName": LogUserName = reader.ReadContentAsString(); break; case "LogPortalID": LogPortalID = reader.ReadContentAsInt(); break; case "LogPortalName": LogPortalName = reader.ReadContentAsString(); break; case "LogCreateDate": LogCreateDate = DateTime.Parse(reader.ReadContentAsString()); break; case "LogCreateDateNum": LogCreateDateNum = reader.ReadContentAsLong(); break; case "BypassBuffering": BypassBuffering = bool.Parse(reader.ReadContentAsString()); break; case "LogServerName": LogServerName = reader.ReadContentAsString(); break; case "LogConfigID": LogConfigID = reader.ReadContentAsString(); break; } } } //Check for LogProperties child node reader.Read(); if (reader.NodeType == XmlNodeType.Element && reader.LocalName == "LogProperties") { reader.ReadStartElement("LogProperties"); if (reader.ReadState != ReadState.EndOfFile && reader.NodeType != XmlNodeType.None && !String.IsNullOrEmpty(reader.LocalName)) { LogProperties.ReadXml(reader); } } //Check for Exception child node if (reader.NodeType == XmlNodeType.Element && reader.LocalName == "Exception") { Exception.ReadXml(reader); } }