public C_Property(string name, string html, int position)
 {
     PropertyName     = name;
     OriginalString   = html;
     PropertyValue    = C_Helper.GetProperty(name, html);
     PropertyPosition = position;
 }
 public C_Element(string name, string html, C_ElementType tagtype, int position)
 {
     ElementName     = name;
     OriginalString  = html;
     ElementType     = tagtype;
     ElementPosition = position;
     Properties      = C_Helper.GetProperties(html);
 }
        public C_Document Parse(string html)
        {
            List <C_Element> elementList = new List <C_Element>();
            int PositionCounter          = -1;

            foreach (char c in html.ToCharArray())
            {
                PositionCounter++;

                #region START OF TAG

                if (c == '<')
                {
                    InsideTag = true;

                    if (TextString.Trim().Length != 0)
                    {
                        elementList.Add(new C_Element("Content", TextString, C_ElementType.text, PositionCounter));
                        TextString = string.Empty;
                    }

                    continue;
                }

                #endregion

                #region END OF TAG

                if (c == '>')
                {
                    InsideTag = false;
                    TagString = TagString.Trim();

                    if (TagString.Length != 0)
                    {
                        elementList.Add(new C_Element(C_Helper.GetTag(TagString), TagString, C_ElementType.tag, PositionCounter));
                        TagString = string.Empty;
                    }

                    continue;
                }

                #endregion

                #region BUILD STRINGS

                if (InsideTag)
                {
                    TagString += c;
                }
                else
                {
                    TextString += c;
                }

                #endregion
            }

            return(new C_Document
            {
                Elements = elementList,
                OriginalString = html,
            });
        }