public bool Load(string contentXMLPath) { try { if (contentXMLPath.Length == 0 || !File.Exists(contentXMLPath)) { return(false); } m_FileInPath = contentXMLPath; XmlReaderSettings settings = new XmlReaderSettings(); settings.DtdProcessing = DtdProcessing.Parse; settings.IgnoreWhitespace = true; using (XmlReader reader = XmlReader.Create(contentXMLPath, settings)) { while (reader.Read()) { switch (reader.Name) { case "FileVer": { if (reader.GetAttribute("value") != null) { m_FileVer = int.Parse(reader["value"]); } break; } case "Id": { if (reader.GetAttribute("value") != null) { m_Id = int.Parse(reader["value"]); } break; } case "curHash": { if (reader.GetAttribute("value") != null) { m_currentSHA256 = reader["value"]; } break; } case "NoGlobal": { if (reader.GetAttribute("value") != null) { m_bShowInGlobalIndex = !bool.Parse(reader["value"]); } break; } case "ShowUnitNumber": { if (reader.GetAttribute("value") != null) { m_bShowUnitNumber = bool.Parse(reader["value"]); } break; } case "Header": { if (reader.GetAttribute("value") != null) { m_Header = reader["value"]; } break; } case "Title": { if (reader.GetAttribute("value") != null) { m_Title = reader["value"]; } break; } case "SubTitle": { if (reader.GetAttribute("value") != null) { m_SubTitle = reader["value"]; } break; } case "Author": { if (reader.GetAttribute("value") != null) { m_Author = reader["value"]; } break; } case "Place": { if (reader.GetAttribute("value") != null) { m_Place = reader["value"]; } break; } case "PublishDate": { if (reader.GetAttribute("enabled") != null) { if (!bool.TryParse(reader["enabled"], out m_bShowPublishDate)) { m_bShowPublishDate = false; } } break; } case "Revision": { if (reader.GetAttribute("value") != null) { if (!int.TryParse(reader.GetAttribute("value"), out m_Revision)) { m_Revision = 1; } } if (reader.GetAttribute("enabled") != null) { if (!bool.TryParse(reader["enabled"], out m_bShowRevision)) { m_bShowRevision = false; } } break; } case "RebuildDate": { if (reader.GetAttribute("enabled") != null) { if (!bool.TryParse(reader["enabled"], out m_bShowRebuildDate)) { m_bShowRebuildDate = false; } } break; } case "Abstract": { if (reader.GetAttribute("value") != null) { m_Abstract = reader["value"]; } break; } case "Summary": { if (!bool.TryParse(reader["value"], out m_bSummary)) { m_bSummary = false; } break; } case "Introduction": { if (reader.GetAttribute("value") != null) { m_Introduction = reader["value"]; } break; } case "Unit": { m_Unit = new Unit(0); m_Unit.FromXML(reader); break; } case "Bibliography": { if (reader.GetAttribute("value") != null) { m_Bibliography = reader["value"]; } break; } case "Category": { if (reader.GetAttribute("value") != null) { m_Category = reader["value"]; } break; } case "Hashes": { int nHashes = 0; if (reader.GetAttribute("value") != null) { if (!int.TryParse(reader.GetAttribute("value"), out nHashes)) { nHashes = 0; } } if (nHashes > 0) { m_VersionHashes.Clear(); } for (int iH = 0; iH < nHashes; iH++) { reader.Read(); DocHash curHash = new DocHash("", ""); curHash.FromXML(reader); m_VersionHashes.Add(curHash); } break; } case "NoProcess": { if (reader.GetAttribute("value") != null) { m_bNoProcess = bool.Parse(reader["value"]); } break; } case "Dedication": { if (reader.GetAttribute("value") != null) { m_Dedication = reader["value"]; } break; } case "CreationDate": { if (reader.GetAttribute("value") != null) { m_CreationDate = reader["value"]; } break; } } } } } catch (System.Exception ex) { Globals.m_Logger.Error(ex.ToString()); return(false); } return(true); }
public void AddHash(DocHash hash) { m_VersionHashes.Insert(0, hash); }