TokenizerExtensions
Extensions to access the underying tokenizer.
using AngleSharp.Dom.Events;
using AngleSharp.Html;
using AngleSharp.Parser.Html;
using AngleSharp.Services;
using System;
using System.Collections.Generic;
namespace AngleSharp.Extensions
{
public static class TokenizerExtensions
{
public static IEnumerable<HtmlToken> Tokenize(this TextSource source, IEntityProvider provider = null, EventHandler<HtmlErrorEvent> errorHandler = null)
{
IEntityProvider resolver = provider ?? HtmlEntityService.Resolver;
HtmlTokenizer htmlTokenizer = new HtmlTokenizer(source, resolver);
if (errorHandler != null)
htmlTokenizer.Error += errorHandler;
HtmlToken token;
do {
token = htmlTokenizer.Get();
yield return token;
} while (token.Type != HtmlTokenType.EndOfFile);
}
}
}