namespace TableSpans.HtmlAgilityPack.Demo
static void PrintArray(object[,] arr)
for (int y = 0; y < arr.GetLength(1); y++)
for (int x = 0; x < arr.GetLength(0); x++)
Console.Write($"[{x}, {y}] \"{arr[x, y]}\" ");
static void Main(string[] args)
var tableSpansExtension = new TableSpansExtension();
var htmlDocument = new HtmlDocument();
htmlDocument.LoadHtml(_html);
var tableNode = htmlDocument.DocumentNode.SelectSingleNode(".//table");
throw new InvalidOperationException("Could not find a table");
var newTableNode = tableSpansExtension.ProcessTable(tableNode);
tableNode.ParentNode.ReplaceChild(newTableNode, tableNode);
var htmlTableNodeBefore = tableNode.OuterHtml;
Console.WriteLine("htmlTableNodeBefore:");
Console.WriteLine(htmlTableNodeBefore);
var htmlTableNodeAfter = newTableNode.OuterHtml;
Console.WriteLine("htmlTableNodeAfter:");
Console.WriteLine(htmlTableNodeAfter);
var arrBefore = tableSpansExtension.ToArray(tableNode);
Console.WriteLine("arrBefore:");
var arrAfter = tableSpansExtension.ToArray(newTableNode);
Console.WriteLine("arrAfter:");