/// <summary> /// Write a representation of this instance to the given <see cref="IHtmlSerializer"/>. /// </summary> /// <param name="serializer"><see cref="IHtmlSerializer"/> to write to.</param> public override void Serialize(IHtmlSerializer serializer) { base.Serialize(serializer); var oneLiner = _children.All(x => !x.SuggestNewlineWhenSerialized) && _children.Any(x => x is StringHtmlElement); if (!oneLiner) { serializer.BeginBlock(AllowIndentation); } foreach (var element in Children) { if (Verbatim && element is StringHtmlElement) { serializer.Write(((StringHtmlElement)element).Value); } else { element.Serialize(serializer); } if (element.SuggestNewlineWhenSerialized || Verbatim) { serializer.SuggestNewline(); } } if (!oneLiner) { serializer.EndBlock(); } serializer.Write($"</{Name}>"); }
/// <summary> /// Serializes the attributes in this element to the given <see cref="IHtmlSerializer"/>. /// </summary> /// <param name="serializer"><see cref="IHtmlSerializer"/> to write to.</param> protected void SerializeAttributes(IHtmlSerializer serializer) { foreach (var attribute in Attributes) { serializer.Write(" "); attribute.Serialize(serializer); } }
/// <summary> /// Write a representation of this instance to the given <see cref="IHtmlSerializer"/>. /// </summary> /// <param name="serializer"><see cref="IHtmlSerializer"/> to write to.</param> public void Serialize(IHtmlSerializer serializer) { serializer.Write(ToString()); }
/// <summary> /// Write a representation of this instance to the given <see cref="IHtmlSerializer"/>. /// </summary> /// <param name="serializer"><see cref="IHtmlSerializer"/> to write to.</param> public override void Serialize(IHtmlSerializer serializer) { serializer.Write($"<{Name}"); SerializeAttributes(serializer); serializer.Write(TrailingSlash ? " />" : ">"); }