public object LoadXMLSettings() { try { var localFilename = System.IO.Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), "config.xml"); if (!File.Exists(localFilename)) { LogFile("First run", "First run", MethodBase.GetCurrentMethod().Name, 0, GetType().Name); IZebraPrinter dummyprinter = new ZebraPrinter("", ""); SaveXMLSettings(dummyprinter); } var xDoc = XDocument.Load(localFilename); var xRoot = xDoc.Root; var friendlyName = ""; var macAddress = ""; foreach (XElement xElem in xRoot.Elements()) { foreach (XElement xChild in xElem.Elements()) { if (xChild.Name == "FriendlyName") { friendlyName = xChild.Value; } if (xChild.Name == "MACAddress") { macAddress = xChild.Value; } } } IZebraPrinter printer = new ZebraPrinter(macAddress, friendlyName); return(printer); } catch (Exception ex) { // call LogFile method and pass argument as Exception message, event name, control name, error line number, current form name // LogFile(ex.Message, ex.ToString(), MethodBase.GetCurrentMethod().Name, ExceptionHelper.LineNumber(ex), GetType().Name); return(null); } }