Beispiel #1
0
        internal virtual void InternalLoad(string physicalPath)
        {
            string text = CFiles.ReadFile(physicalPath);

            if (!string.IsNullOrEmpty(text))
            {
                using (StringReader stringReader = new StringReader(text))
                {
                    using (XmlReader xmlReader = XmlReader.Create(stringReader, new XmlReaderSettings
                    {
                        CloseInput = true,
                        IgnoreWhitespace = true,
                        IgnoreComments = true,
                        IgnoreProcessingInstructions = true
                    }))
                    {
                        XmlDocument xmlDocument = new XmlDocument();
                        xmlDocument.Load(xmlReader);
                        this.Reset();
                        if (xmlDocument.DocumentElement != null && xmlDocument.HasChildNodes)
                        {
                            base.CacheDurationInMinutes = XmlSiteMap.GetFloatValueFromAttribute(xmlDocument.DocumentElement, "cacheDurationInMinutes", SiteMapBase.DefaultCacheDurationInMinutes);
                            base.Compress = XmlSiteMap.GetBooleanValueFromAttribute(xmlDocument.DocumentElement, "compress", true);
                            base.GenerateSearchEngineMap = XmlSiteMap.GetBooleanValueFromAttribute(xmlDocument.DocumentElement, "generateSearchEngineMap", true);
                            XmlNode firstChild = xmlDocument.DocumentElement.FirstChild;
                            XmlSiteMap.Iterate(base.RootNode, firstChild);
                            this.InsertInCache(physicalPath);
                        }
                    }
                }
            }
        }