public virtual void WriteNode(DomTextWriter writer)
{
//write node
writer.Write("<", this.Name);
//count attribute
foreach (var attr in this.GetAttributeIterForward())
{
//name=value
writer.Write(' ');
writer.Write(attr.Name);
writer.Write("=\"");
writer.Write(attr.Value);
writer.Write("\"");
}
writer.Write('>');
//content
foreach (var childnode in this.GetChildNodeIterForward())
{
HtmlElement childHtmlNode = childnode as HtmlElement;
if (childHtmlNode != null)
{
childHtmlNode.WriteNode(writer);
}
HtmlTextNode htmlTextNode = childnode as HtmlTextNode;
if (htmlTextNode != null)
{
htmlTextNode.WriteTextNode(writer);
}
}
//close tag
writer.Write("</", this.Name, ">");
}