public void TestingReplace() { var watch = new Stopwatch(); watch.Start(); var data = new HtmlTestData(); string source = data.HTML2; TagParser = new TagParser(source); StyleParser = new StyleParser(source); var deleteat = -1; var styleit = false; var result = ""; StyleParser.DoElement = stuff => { TagParser.Stuff = StyleParser.Stuff; }; TagParser.DoElement = stuff => { if (stuff.State.Equals(State.Name)) { if (stuff.Element.Equals("span")) { deleteat = stuff.TagPosition; } else if (stuff.Element.Equals("style")) { styleit = true; } } else if (stuff.State.Equals(State.Endtag)) { if (stuff.Element.Equals("/span")) { deleteat = stuff.TagPosition; } } else if (stuff.State.Equals(State.Value)) { if (stuff.Element.Equals("Flieatext")) { TagParser.Replace(stuff.Origin, stuff.Position, "Inhalt"); } } }; TagParser.DoTag = stuff => { if (stuff.TagPosition == deleteat) { TagParser.Remove(stuff.TagPosition, stuff.Position); deleteat = -1; } else if (styleit) { StyleParser.Stuff = TagParser.Stuff; StyleParser.Parse(); styleit = false; } else { } }; TagParser.DoText = stuff => { }; TagParser.Parse(); watch.Stop(); ReportDetail(TagParser.Stuff.Text.ToString()); ReportDetail(result); ReportDetail("Vergangene Zeit: " + watch.Elapsed); }