/// <summary> /// Load an XML TV file, and merge contents into existing data (if any) /// </summary> /// <param name="filename"></param> /// <param name="mergeOnly"></param> /// <returns></returns> public bool LoadXmlTV(string filename, bool mergeOnly = false) { try { var xmlTVLoad = new XmlTVDocument(); xmlTVLoad.Load(filename); var localData = new XmlTVData(xmlTVLoad); var localRootTvNode = localData.rootNode; // Check for root TV node if (localRootTvNode == null) { addError(1002, "root TV node was not found", XMLTVError.ErrorSeverity.Error, "", "LoadXmlTV"); return(false); } // Check for dupe channel ids if (validateChannel(xmlData, localData)) { return(false); } if (validateProgramme(xmlData, localData)) { return(false); } if (mergeOnly) { CopyXmlData(ref localData, xmlData, false); } else { CopyXmlData(ref localData, xmlData, true); } return(true); } catch (System.Exception ex) { addError(ex); } return(false); }