private void DropStackToTag() { if (HtmlNodeType.EndTag == _nestedTokens.Top.Type) { Token token = _nestedTokens.Pop(); while ((HtmlNodeType.Tag != _nestedTokens.Top.Type) && (0 != String.Compare(_nestedTokens.Top.Name, token.Name, true))) { _nestedTokens.Pop(); } _nestedTokens.Pop(); } }
/// <summary> /// Writes the end element (closing tag). /// </summary> /// <remarks>The implementation of <see cref="HtmlWriter"/> should /// maintain a stack of elements (tags) written. The implementation of /// this method should use this stak to retrieve the closing tag. /// </remarks> /// <seealso cref="WriteStartElement"/> public override void WriteEndElement() { CheckClosed(); _writer.Write("</"); _writer.Write(_nestedTokens.Top.Name); _writer.Write('>'); FormatFlags flags = GetFlagsForTagName(_nestedTokens.Top.Name); if (0 != (FormatFlags.EndNewLine & flags)) { _writer.WriteLine(); } _nestedTokens.Pop(); }