Example #1
0
        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);
        }
Example #2
0
 public void AddHash(DocHash hash)
 {
     m_VersionHashes.Insert(0, hash);
 }