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;
}
}
}