private static void DumpChildren(HtmlNode parent)
if (parent.HasChildNodes)
Console.WriteLine("Has child nodes: " + parent.ChildNodes.Count.ToString());
foreach (HtmlNode thisChild in parent.ChildNodes)
Console.WriteLine("Child = " + thisChild.OuterHtml);
Console.WriteLine("Type = " + thisChild.NodeType.ToString());
Console.WriteLine("Tag = " + thisChild.Name);
public static void Main()
<h1 name='bob'>This is <b>bold</b> heading</h1>
<p>This is <u name='fred'>underlined</u> paragraph</p>
<h2>This is <i>italic</i> heading</h2>
<h2>This is new heading</h2>
var htmlDoc = new HtmlDocument();
var node = htmlDoc.DocumentNode.SelectSingleNode("//body/h1");
HtmlNode sibling = node.NextSibling;
if(sibling.NodeType == HtmlNodeType.Element)
Console.WriteLine(sibling.OuterHtml);
sibling = sibling.NextSibling;