Advertisement
andruhovski

Task 980: Element Traversal Demo

Sep 28th, 2017
192
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.07 KB | None | 0 0
  1. class Program
  2.     {
  3.         private static HTMLDocument _document;
  4.  
  5.         private static string Tabs(int n)
  6.         {
  7.             return new string('\t', n);
  8.         }
  9.         private static void Main()
  10.         {
  11.             // read page with jobposting data          
  12.             try
  13.             {
  14.                 _document = new HTMLDocument(@"http://asposedemo20170904120448.azurewebsites.net/home/elementtraversal");
  15.             }
  16.             catch (Exception ex)
  17.             {
  18.                 Console.WriteLine($"Error: {ex.Message}");
  19.                 return;
  20.             }
  21.  
  22.             PrintOutlineDemo01(_document.GetElementById("demo01"));
  23.             Console.WriteLine("------------------------------");
  24.             PrintOutlineDemo02(_document.GetElementById("demo01"));
  25.  
  26.             var demoElement2 = _document.GetElementById("demo01");
  27.             Console.WriteLine($"Element with id={demoElement2.Id} contains {demoElement2.ChildElementCount} children.");
  28.             Console.WriteLine($"First child is {demoElement2.FirstElementChild.TagName} with content {demoElement2.FirstElementChild.TextContent}");
  29.             Console.WriteLine($"Last child is {demoElement2.LastElementChild.TagName} with content {demoElement2.LastElementChild.TextContent}");
  30.            
  31.         }
  32.         private static void PrintOutlineDemo01(Element element,int level=0)
  33.         {
  34.             Console.WriteLine("{0}{1}", Tabs(level) ,element.TagName);
  35.             for (var elem = element.FirstElementChild; elem != null; elem = elem.NextElementSibling)
  36.             {
  37.                 PrintOutlineDemo01(elem, level + 1);
  38.             }          
  39.         }
  40.  
  41.         private static void PrintOutlineDemo02(Element element, int level=0)
  42.         {
  43.             if (element.FirstElementChild == null) return;            
  44.             for (var elem = element.FirstElementChild; elem != null; elem = elem.NextElementSibling)
  45.             {
  46.                 Console.WriteLine("{0}{1}", Tabs(level), elem.TagName);
  47.                 PrintOutlineDemo02(elem, level + 1);
  48.             }
  49.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement