public MainWindow()
        {
            InitializeComponent();

            // use C1.TextParser services directly
            var    sacu        = new C1.TextParser.StartsAfterContinuesUntil("\"", "\"");
            Stream inputStream = File.Open(@"SacuInput.txt", FileMode.Open);
            var    res         = sacu.Extract(inputStream);

            Console.WriteLine(res.ToJsonString());

            var tbe  = new C1.TextParser.TemplateBasedExtractor(File.Open(@"template.xml", FileMode.Open));
            var res1 = tbe.Extract(File.Open(@"input.txt", FileMode.Open));

            Console.WriteLine(res1.ToJsonString());
            Console.WriteLine(res1.Extractor);

            var he = C1TextParserWrapper.GetHtmlExtractor(File.Open(@"amazonEmail1.html", FileMode.Open));

            //Fixed placeHolder for the expected delivery date
            he.AddPlaceHolder("delivery date", @"/html/body/div[2]/div/div/div/table/tbody/tr[3]/td/table/tbody/tr[1]/td[1]/p/strong");
            var res2 = he.Extract(File.Open(@"amazonEmail2.html", FileMode.Open));

            txt.Text = res2.ToJsonString();
        }
コード例 #2
0
        private void Button2_Click(object sender, EventArgs e)
        {
            StartsAfterContinuesUntil extractor = null;

            try
            {
                extractor = C1TextParserWrapper.GetStartsAfterContinuesUntilExtractor(textBox1.Text, textBox2.Text);
            }
            catch (Exception ex1)
            {
                MessageBox.Show("Regular expression parsing error:\n" + ex1.Message, "C1TextParser Winforms Edition", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            var plainTextStream = new MemoryStream();
            var writer          = new StreamWriter(plainTextStream);

            writer.Write(textBox4.Text);
            writer.Flush();
            plainTextStream.Position = 0;

            IExtractionResult extractedResult = extractor.Extract(plainTextStream);
            var results = extractedResult.Get <MyExtractionResultClass>();

            this.c1FlexGrid1.Rows.RemoveRange(1, this.c1FlexGrid1.Rows.Count - 1);
            foreach (var result in results.Result)
            {
                this.c1FlexGrid1.AddItem(new string[2] {
                    result.Index.ToString(), result.Text
                });
            }

            writer.Dispose();
            plainTextStream.Dispose();

            MessageBox.Show(String.Format("{0} instance(s) extracted sucessfully from the input source!", results.Result.Count), "C1TextParser Winforms Edition", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
コード例 #3
0
        private void Button2_Click(object sender, EventArgs e)
        {
            Stream templateStream = new MemoryStream();
            var    templateWriter = new StreamWriter(templateStream);

            templateWriter.Write(textBox2.Text);
            templateWriter.Flush();
            templateStream.Position = 0;

            Stream plainTextStream = new MemoryStream();
            var    sourceWriter    = new StreamWriter(plainTextStream);

            sourceWriter.Write(textBox4.Text);
            sourceWriter.Flush();
            plainTextStream.Position = 0;

            try
            {
                var extractor = C1TextParserWrapper.GetTemplateBasedExtractor(templateStream);
                IExtractionResult extractedResult = extractor.Extract(plainTextStream);
                var results = extractedResult.ToJsonString();

                textBox5.Text = results;
                MessageBox.Show(String.Format("Extraction of the input text acording to the xml template specified succeed!"), "C1TextParser Winforms Edition", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Template specification error:\n" + ex.Message, "C1TextParser Winforms Edition", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            finally
            {
                templateWriter.Dispose();
                sourceWriter.Dispose();
                templateStream.Dispose();
                plainTextStream.Dispose();
            }
        }