Beispiel #1
0
        private void LoadAnotherDomains(XElement root)
        {
            AnotherDomains = new List <AnotherDomainInfo>();
            foreach (XElement element in root.Elements("AnotherDomain"))
            {
                var name          = XmlParseHelper.ParseAttribute <string>(element, "name");
                var link          = XmlParseHelper.ParseAttribute <string>(element, "link");
                var flag          = XmlParseHelper.ParseAttribute <string>(element, "flag");
                var anotherDomain = new AnotherDomainInfo(name, link, flag);

                foreach (XElement pageElement in element.Elements("Page"))
                {
                    var pageSectionId = XmlParseHelper.ParseAttribute <SectionId>(pageElement, "sectionId");
                    var pageUrl       = XmlParseHelper.ParseAttribute <string>(pageElement, "url");
                    var pageTitle     = XmlParseHelper.ParseAttribute <string>(pageElement, "title");

                    anotherDomain.AddPage(pageSectionId, pageUrl, pageTitle);
                }

                if (anotherDomain.IsValid() &&
                    !string.Equals(link, DomainWithProtocol, StringComparison.InvariantCultureIgnoreCase))
                {
                    AnotherDomains.Add(anotherDomain);
                }
            }
        }
Beispiel #2
0
        public void Load(XElement patternsElement)
        {
            _sectionsTemplates.Clear();

            foreach (XElement sectionElement in patternsElement.Elements("Section"))
            {
                var sectionId = XmlParseHelper.ParseAttribute <SectionId>(sectionElement, "Id");
                var pageId    = XmlParseHelper.ParseAttribute <PageId>(sectionElement, "PageId");

                TemplateSection templateSection = GetOrAddSection(sectionId);

                Dictionary <TemplateId, string> templates =
                    XmlParseHelper.GetDictionary <TemplateId, string>(sectionElement, "Template");
                foreach (var template in templates)
                {
                    templateSection.Set(pageId,
                                        template.Key,
                                        template.Value);
                }
            }
        }