public string Serialize(HtmlSerializeOptions serializeOptions) { StringBuilder stringBuilder = new StringBuilder(); Serialize(stringBuilder, 0, serializeOptions); return(stringBuilder.ToString()); }
public override void Serialize(StringBuilder builder, int depth, HtmlSerializeOptions serializeOptions) { AddDepth(builder, depth); builder.Append('<'); builder.Append('!'); builder.Append(Doctype); builder.Append('>'); }
public override void Serialize(StringBuilder builder, int depth, HtmlSerializeOptions serializeOptions) { if (Doctype != null) { Doctype.Serialize(builder, depth, serializeOptions); if (serializeOptions != HtmlSerializeOptions.NoFormatting) { builder.AppendLine(); } } base.Serialize(builder, depth, serializeOptions); }
public override void Serialize(StringBuilder builder, int depth, HtmlSerializeOptions serializeOptions) { int extraLength = IsVoid ? 0 : (3 + Value.Length); builder.EnsureCapacity(builder.Capacity + Name.Length + extraLength); builder.Append(Name); if (!IsVoid) { builder.Append('='); builder.Append('"'); builder.Append(Value); builder.Append('"'); } }
public override void Serialize(StringBuilder builder, int depth, HtmlSerializeOptions serializeOptions) { AddDepth(builder, depth); SerializeOpenTag(builder, depth, serializeOptions); if (IsVoid) { return; } IEnumerable <HtmlNode> nodes = Nodes(); bool mixedMode = nodes.Any(node => node.ObjectType == HtmlObjectType.Text); //bool formattedSubNode = false; foreach (HtmlNode node in nodes) { HtmlElement element = node as HtmlElement; bool nodeHasElements = element != null && element.HasElements; if (mixedMode && !nodeHasElements) { node.Serialize(builder, 0, serializeOptions); } else { if (serializeOptions != HtmlSerializeOptions.NoFormatting) { builder.AppendLine(); } node.Serialize(builder, depth + 1, serializeOptions); // We don't want many grandchild/greatgrandchild nodes in mixed mode printed inline. if (nodeHasElements && mixedMode && serializeOptions != HtmlSerializeOptions.NoFormatting) { builder.AppendLine(); } } } if (!mixedMode && HasNodes) { if (serializeOptions != HtmlSerializeOptions.NoFormatting) { builder.AppendLine(); } AddDepth(builder, depth); } builder.Append("</"); builder.Append(Tag); builder.Append('>'); }
private void SerializeOpenTag(StringBuilder builder, int depth, HtmlSerializeOptions serializeOptions) { builder.Append('<'); builder.Append(Tag); if (_attributes._count != 0) { foreach (var attribute in Attributes()) { builder.Append(' '); attribute.Serialize(builder, 0, serializeOptions); } } builder.Append(IsVoid ? " />" : ">"); }
public abstract void Serialize(StringBuilder builder, int depth, HtmlSerializeOptions serializeOptions);
public string Serialize(HtmlSerializeOptions serializeOptions) { StringBuilder stringBuilder = new StringBuilder(); Serialize(stringBuilder, 0, serializeOptions); return stringBuilder.ToString(); }
public override void Serialize(StringBuilder builder, int depth, HtmlSerializeOptions serializeOptions) { }
public override void Serialize(StringBuilder builder, int depth, HtmlSerializeOptions serializeOptions) => builder.Append(Text);