public void ParseSection2()
    {
      // Start and End for tag
      HtmlSectionTemplate template = new HtmlSectionTemplate();
      template.Tags = "T";
      template.Template =
        "<table><tr><td>Title:<#TITLE>(</td><td><#START></td><td><#DESCRIPTION></td><Z(><td><#GENRE></td></Z)?></tr></table>";

      HtmlSectionParser elements = new HtmlSectionParser(template);

      ParserData data = new ParserData();
      IParserData idata = (IParserData)data;
      string source = "<table><tr><td>Test</td><td>123</td><td>blah blah</td></tr></table>";
      elements.ParseSection(source, ref idata);

      Assert.IsTrue(data.GetElement("#TITLE") == "Test");
      Assert.IsTrue(data.GetElement("#START") == "123");
      Assert.IsTrue(data.GetElement("#DESCRIPTION") == "blah blah");

      data = new ParserData();
      idata = (IParserData)data;
      source = "<table><tr><td>Title:Test(1:2)</td><td>123</td><td>blah blah</td></tr></table>";
      elements.ParseSection(source, ref idata);

      Assert.IsTrue(data.GetElement("#TITLE") == "Test");
      Assert.IsTrue(data.GetElement("#START") == "123");
      Assert.IsTrue(data.GetElement("#DESCRIPTION") == "blah blah");
    }
Example #2
0
        /// <summary>
        /// Gets the data.
        /// </summary>
        /// <param name="index">The index.</param>
        /// <returns>Parser Data</returns>
        public IParserData GetData(int index)
        {
            string sectionSource;

            if (_sectionSource != string.Empty)
            {
                sectionSource  = _sectionSource;
                _sectionSource = string.Empty;
            }
            else
            {
                sectionSource = _profiler.GetSource(index);
            }

            // create a new IParserData object from the type and arguments given to the constructor
            IParserData sectionData = (IParserData)Activator.CreateInstance(_dataType, _dataArgs);

            if (_sectionParser.ParseSection(sectionSource, ref sectionData))
            {
                return(sectionData);
            }
            return(null);
        }
    public void ParseSection3()
    {
      // Multiple tags
      HtmlSectionTemplate template = new HtmlSectionTemplate();
      template.Tags = "T";
      template.Template =
        "<table><tr><td><#TITLE>-<#SUBTITLE></td><td><#START></td><td><#DESCRIPTION></td><Z(><td><#GENRE></td></Z)?></tr></table>";

      HtmlSectionParser elements = new HtmlSectionParser(template);
      ParserData data = new ParserData();
      IParserData idata = (IParserData)data;
      string source = "<table><tr><td>Test-Sub</td><td>123</td><td>blah blah</td></tr></table>";
      elements.ParseSection(source, ref idata);

      Assert.IsTrue(data.GetElement("#TITLE") == "Test");
      Assert.IsTrue(data.GetElement("#SUBTITLE") == "Sub");
      Assert.IsTrue(data.GetElement("#START") == "123");
      Assert.IsTrue(data.GetElement("#DESCRIPTION") == "blah blah");
    }