コード例 #1
0
 public override void SaveSettings(HTMLCleanupConfig config)
 {
     config.URLFormatterConfig = new URLFormatterType
     {
         Skipped = Skipped
     };
 }
コード例 #2
0
 public override void SaveSettings(HTMLCleanupConfig config)
 {
     config.ParagraphExtractorConfig = new ParagraphExtractorType
     {
         Skipped = Skipped
     };
 }
コード例 #3
0
 public override void LoadSettings(HTMLCleanupConfig config)
 {
     base.LoadSettings(config);
     //  Skipped must be read after base settings.
     Skipped = config.InnerTagRemoverConfig.Skipped;
     LoadTags(config.InnerTagRemoverConfig.Tags);
 }
コード例 #4
0
 public override void SaveSettings(HTMLCleanupConfig config)
 {
     config.TagWithTextRemoverConfig = new TagWithTextRemoverType()
     {
         Skipped = Skipped,
         Tags    = new TagToRemoveType[Tags.Count]
     };
     SaveTags(config.TagWithTextRemoverConfig.Tags);
 }
コード例 #5
0
            public override void SaveSettings(HTMLCleanupConfig config)
            {
                base.SaveSettings(config);

                config.InnerTagRemoverConfig = new InnerTagRemoverType()
                {
                    Skipped = Skipped,
                    Tags    = new TagToRemoveType[Tags.Count]
                };
                SaveTags(config.InnerTagRemoverConfig.Tags);
            }
コード例 #6
0
            public override void LoadSettings(HTMLCleanupConfig config)
            {
                Skipped = config.TextFormatterConfig.Skipped;

                byte[] b = new byte[config.TextFormatterConfig.Delimiters.Length];
                for (int i = 0; i < config.TextFormatterConfig.Delimiters.Length; i++)
                {
                    b[i] = config.TextFormatterConfig.Delimiters[i].SymbolCode;
                }

                Delimiters = Encoding.ASCII.GetChars(b);
            }
コード例 #7
0
            public override void LoadSettings(HTMLCleanupConfig config)
            {
                Skipped = config.SpecialHTMLRemoverConfig.Skipped;
                SpecialHtml.Clear();
                foreach (SpecialHTMLSymbolType t in config.SpecialHTMLRemoverConfig.SpecialHTML)
                {
                    SpecialHtml.Add(new SpecialHtmlSymbol(t.SpecialHTML, t.Replacement));
                }

                //  This symbol is added bypassing configuration file
                //  because string consisting only from spaces is read
                //  from XML as completely empty despite it is stored
                //  correctly (workaround).
                SpecialHtml.Add(new SpecialHtmlSymbol("&nbsp;", " "));
            }
コード例 #8
0
            public override void SaveSettings(HTMLCleanupConfig config)
            {
                config.TextFormatterConfig = new TextFormatterType()
                {
                    Skipped    = Skipped,
                    Delimiters = new DelimiterSymbolType[Delimiters.Length]
                };

                for (int i = 0; i < Delimiters.Length; i++)
                {
                    byte[] b = Encoding.ASCII.GetBytes(Delimiters);
                    config.TextFormatterConfig.Delimiters[i] = new DelimiterSymbolType()
                    {
                        SymbolCode = b[i]
                    };
                }
            }
コード例 #9
0
            public override void SaveSettings(HTMLCleanupConfig config)
            {
                config.SpecialHTMLRemoverConfig = new SpecialHTMLRemoverType
                {
                    Skipped     = Skipped,
                    SpecialHTML = new SpecialHTMLSymbolType[SpecialHtml.Count]
                };

                for (int i = 0; i < SpecialHtml.Count; i++)
                {
                    config.SpecialHTMLRemoverConfig.SpecialHTML[i] = new SpecialHTMLSymbolType
                    {
                        SpecialHTML = SpecialHtml[i].SpecialHtml,
                        Replacement = SpecialHtml[i].Replacement
                    };
                }
            }
コード例 #10
0
        /// <summary>
        /// Scans processing chain and copies object data into file.
        /// </summary>
        /// <param name="fileName">Configuration file name.</param>
        /// <param name="chain">The first member of processing chain.</param>
        public void Serialize(string fileName, BaseHtmlCleaner.TextProcessor chain)
        {
            HTMLCleanupConfig config = new HTMLCleanupConfig();

            //  Fills the settings container.
            while (chain != null)
            {
                if (chain.GetType() == typeof(BaseHtmlCleaner.ParagraphExtractor))
                {
                    ((BaseHtmlCleaner.ParagraphExtractor)chain).SaveSettings(config);
                }

                if (chain.GetType() == typeof(BaseHtmlCleaner.SpecialHtmlRemover))
                {
                    ((BaseHtmlCleaner.SpecialHtmlRemover)chain).SaveSettings(config);
                }

                if (chain.GetType() == typeof(BaseHtmlCleaner.InnerTextProcessor))
                {
                    ((BaseHtmlCleaner.InnerTextProcessor)chain).SaveSettings(config);
                }

                if (chain.GetType() == typeof(BaseHtmlCleaner.TagRemover))
                {
                    ((BaseHtmlCleaner.TagRemover)chain).SaveSettings(config);
                }

                if (chain.GetType() == typeof(BaseHtmlCleaner.UrlFormatter))
                {
                    ((BaseHtmlCleaner.UrlFormatter)chain).SaveSettings(config);
                }

                if (chain.GetType() == typeof(BaseHtmlCleaner.TextFormatter))
                {
                    ((BaseHtmlCleaner.TextFormatter)chain).SaveSettings(config);
                }

                chain = chain.Next;
            }
            //  Writes data to file.
            using (StreamWriter writer = new StreamWriter(fileName))
            {
                XmlSerializer serializer = new XmlSerializer(typeof(HTMLCleanupConfig));
                serializer.Serialize(writer, config);
            }
        }
コード例 #11
0
        /// <summary>
        /// Reads configuration objects from file.
        /// </summary>
        /// <param name="fileName">Configuration file name.</param>
        /// <param name="chain">The first member of processing chain.</param>
        public void Deserialize(string fileName, BaseHtmlCleaner.TextProcessor chain)
        {
            //  Reads settings from file.
            HTMLCleanupConfig config = new HTMLCleanupConfig();

            using (StreamReader reader = new StreamReader(fileName))
            {
                XmlSerializer serializer = new XmlSerializer(typeof(HTMLCleanupConfig));
                config = (HTMLCleanupConfig)serializer.Deserialize(reader);
            }
            //  Updates objects in the chain.
            while (chain != null)
            {
                if (chain.GetType() == typeof(BaseHtmlCleaner.ParagraphExtractor))
                {
                    ((BaseHtmlCleaner.ParagraphExtractor)chain).LoadSettings(config);
                }

                if (chain.GetType() == typeof(BaseHtmlCleaner.SpecialHtmlRemover))
                {
                    ((BaseHtmlCleaner.SpecialHtmlRemover)chain).LoadSettings(config);
                }

                if (chain.GetType() == typeof(BaseHtmlCleaner.InnerTextProcessor))
                {
                    ((BaseHtmlCleaner.InnerTextProcessor)chain).LoadSettings(config);
                }

                if (chain.GetType() == typeof(BaseHtmlCleaner.TagRemover))
                {
                    ((BaseHtmlCleaner.TagRemover)chain).LoadSettings(config);
                }

                if (chain.GetType() == typeof(BaseHtmlCleaner.UrlFormatter))
                {
                    ((BaseHtmlCleaner.UrlFormatter)chain).LoadSettings(config);
                }

                if (chain.GetType() == typeof(BaseHtmlCleaner.TextFormatter))
                {
                    ((BaseHtmlCleaner.TextFormatter)chain).LoadSettings(config);
                }

                chain = chain.Next;
            }
        }
コード例 #12
0
 public override void LoadSettings(HTMLCleanupConfig config)
 {
     Skipped = config.URLFormatterConfig.Skipped;
 }
コード例 #13
0
 public override void LoadSettings(HTMLCleanupConfig config)
 {
     Skipped = config.TagWithTextRemoverConfig.Skipped;
     LoadTags(config.TagWithTextRemoverConfig.Tags);
 }
コード例 #14
0
 public override void LoadSettings(HTMLCleanupConfig config)
 {
     Skipped = config.ParagraphExtractorConfig.Skipped;
 }
コード例 #15
0
 public abstract void SaveSettings(HTMLCleanupConfig config);
コード例 #16
0
 public abstract void LoadSettings(HTMLCleanupConfig config);