/// <summary> /// Imports the xml data specified. /// </summary> /// <param name="xmlData">The xml data to process</param> /// <param name="dataToPopulate">The data to add to, if previous files have been imported.</param> public void Import(byte[] xmlData, ref BeerXmlData dataToPopulate) { XmlDocument document = new XmlDocument(); try { using (MemoryStream stream = new MemoryStream(xmlData)) document.Load(stream); } catch (Exception e) { throw new InvalidDataException("Data provided is not valid XML", e); } Import(document, ref dataToPopulate); }
/// <summary> /// Imports the file specified and processes the data. /// </summary> /// <param name="fileName">The file to import.</param> /// <param name="dataToPopulate">The data to add to, if previous files have been imported.</param> public void ImportFile(string fileName, ref BeerXmlData dataToPopulate) { Import(File.ReadAllText(fileName), ref dataToPopulate); }
/// <summary> /// Imports the data from the xmlDocument /// </summary> /// <param name="document">The data to import</param> /// <param name="dataToPopulate">The data to add to, if previous files have been imported.</param> public void Import(XmlDocument document, ref BeerXmlData dataToPopulate) { ProcessXmlDocument(document, ref dataToPopulate); }
/// <summary> /// Imports the xml data specified. /// </summary> /// <param name="xmlData">The xml data to process</param> /// <param name="dataToPopulate">The data to add to, if previous files have been imported.</param> public void Import(string xmlData, ref BeerXmlData dataToPopulate) { XmlDocument document = new XmlDocument(); document.LoadXml(xmlData); Import(document, ref dataToPopulate); }
private BeerXmlData ProcessXmlDocument(XmlDocument document, ref BeerXmlData dataToPopulate) { if (dataToPopulate == null) throw new ArgumentNullException("dataToPopulate"); BeerXmlVersion version = FindBeerXmlVersion(document); if (version == BeerXmlVersion.Unknown) throw new InvalidDataException("The XML provided does not match any known BeerXML Version."); switch (version) { case BeerXmlVersion.Version_1_0: XmlParser_1_0.Instance.ProcessXmlDocument(document, dataToPopulate); break; default: throw new InvalidOperationException(String.Format("Unknown BeerXmlVersion of '{0}' encountered.", version)); } return dataToPopulate; }