LogViewer.LogEntryParser.EventChildren C# (CSharp) Method

EventChildren() private method

private EventChildren ( XmlReader xmlreader, Names names, LogEntry logentry ) : void
xmlreader XmlReader
names Names
logentry LogEntry
return void
        private void EventChildren(XmlReader xmlreader, Names names, LogEntry logentry)
        {
            while (xmlreader.Read()) {
                switch (xmlreader.NodeType) {
                case XmlNodeType.Whitespace:
                    break;
                case XmlNodeType.Element:
                    if (Object.ReferenceEquals (xmlreader.LocalName, names.message))
                    {
                        logentry.Data.Message = xmlreader.ReadInnerXml ();
                    }
                    else if (Object.ReferenceEquals (xmlreader.LocalName, names.throwable)
                            || Object.ReferenceEquals (xmlreader.LocalName, names.exception))
                    {
                        logentry.Data.ExceptionString = xmlreader.ReadInnerXml ();
                    }
                    else if (Object.ReferenceEquals (xmlreader.LocalName, names.properties)) {
                        ReadProperties (xmlreader, names, logentry);
                    } else if (Object.ReferenceEquals (xmlreader.LocalName, names.locationinfo)) {
                        ReadLocationInfo (xmlreader, names, logentry);
                    } else if (Object.ReferenceEquals (xmlreader.LocalName, names.data)) {
                        ReadDataAttributes (xmlreader, names, logentry);
                    } else if (Object.ReferenceEquals(xmlreader.LocalName, names.ndc)) {
                        ReadNDC(xmlreader, names, logentry);
                    } else {
                        throw new NotImplementedException ("1! " + xmlreader.Name);
                    }
                    break;
                case XmlNodeType.EndElement:
                    if (Object.ReferenceEquals (xmlreader.LocalName, names.@event)) {
                        return;
                    } else if (Object.ReferenceEquals (xmlreader.LocalName, names.message)
                            || Object.ReferenceEquals (xmlreader.LocalName, names.throwable)
                            || Object.ReferenceEquals (xmlreader.LocalName, names.exception)
                            || Object.ReferenceEquals (xmlreader.LocalName, names.properties)
                        ) {
                        //Ignore it
                    } else {
                        throw new NotImplementedException ("3! " + xmlreader.Name);
                    }
                    break;
                default:
                    throw new NotImplementedException ("2! " + xmlreader.NodeType);
                //break;
                }
            }
        }