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, }); }