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;
            }
        }
Beispiel #2
0
        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;
            }
        }