public object LoadFrom(StringTextReader input) { var tokenizer = new Redwood.Framework.RwHtml.Parsing.RwHtmlTokenizer(); var tokenParser = new Redwood.Framework.RwHtml.Parsing.RwHtmlTokenToMarkupParser(); var namespaceVisitor = new Redwood.Framework.RwHtml.Markup.MarkupStreamNamespaceVisitor(defaultNamespaces); var htmlElementVisitor = new Redwood.Framework.RwHtml.Markup.MarkupStreamHtmlElementVisitor(); var mapperVisitor = new Redwood.Framework.RwHtml.Markup.MarkupStreamMapperVisitor(); var activatorVisitor = new Redwood.Framework.RwHtml.Markup.MarkupStreamActivatorVisitor(); // tokenize input var tokenizerOutput = tokenizer.Parse(input); // read markup from tokens var tokenParserOutput = tokenParser.Read(tokenizerOutput); // resolve namespaces var namespaceVisitorOutput = namespaceVisitor.Process(tokenParserOutput); // resolve "raw" HTML elements var htmlElementVisitorOutput = htmlElementVisitor.Process(namespaceVisitorOutput); // map to CLR types and properties var mapperVisitorOutput = mapperVisitor.Process(htmlElementVisitorOutput); // activate object var activatorVisitorOutput = activatorVisitor.Process(mapperVisitorOutput); foreach (var item in activatorVisitorOutput) { //Debug.WriteLine(item.ToDebugString()); } return activatorVisitor.Result; }
public object LoadFromString(string rwhtml) { var input = new StringTextReader(rwhtml); return LoadFrom(input); }