private static void AddTag(ref HtmlTag head, ref HtmlTag current, Match tagMatch, string tagName) { var tag = new HtmlTag(tagName); string id = tagMatch.Groups["id"].Value; if (!string.IsNullOrWhiteSpace(id)) tag.id(id.TrimStart('#')); tagMatch.Groups["class"] .Captures.Cast<Capture>().ToList() .ForEach(c => tag.addClass(c.Value.Trim('.'))); tagMatch.Groups["attr"] .Captures.Cast<Capture>().ToList() .ForEach(c => { var attr = c.Value.Trim('[', ']'); var eqIndex = attr.IndexOf('='); var name = attr.Substring(0, eqIndex); var value = attr.Substring(eqIndex + 1, attr.Length - eqIndex - 1).Trim('\''); tag.attr(name, value); }); if (head == null) { current = tag; head = tag; } else { current.appendTag(tag); current = tag; } }
private static void AddTag(ref HtmlTag head, ref HtmlTag current, Match tagMatch, string tagName) { var tag = new HtmlTag(tagName); string id = tagMatch.Groups["id"].Value; if (!string.IsNullOrWhiteSpace(id)) { tag.id(id.TrimStart('#')); } tagMatch.Groups["class"] .Captures.Cast <Capture>().ToList() .ForEach(c => tag.addClass(c.Value.Trim('.'))); tagMatch.Groups["attr"] .Captures.Cast <Capture>().ToList() .ForEach(c => { var attr = c.Value.Trim('[', ']'); var eqIndex = attr.IndexOf('='); var name = attr.Substring(0, eqIndex); var value = attr.Substring(eqIndex + 1, attr.Length - eqIndex - 1).Trim('\''); tag.attr(name, value); }); if (head == null) { current = tag; head = tag; } else { current.appendTag(tag); current = tag; } }