static void OutWholeTree(_Tag inpTag)
 {
     Console.WriteLine(inpTag.ToString());
     if (inpTag.HasInnerTags)
     {
         Console.Write("\n\t");
         foreach (_Tag innTag in inpTag.InnerTags)
         {
             OutWholeTree(innTag);
         }
     }
 }
        private List <StringUri> getOneRow(_Tag inpTag)
        {
            //DataRow result = null;// = new DataRow();
            List <StringUri> outList = new List <StringUri>();

            foreach (_Tag inTag in inpTag.InnerTags)
            {
                outList.Add(EachRowRec(inTag));
            }
            //result.ItemArray = outList.ToArray();
            //return result;
            return(outList);
        }
        private string GetUriFromHref(_Tag inTag)
        {
            string result = "";

            foreach (tagAttribute itemAtt in inTag.Attributes)
            {
                if (itemAtt.Name == "href")
                {
                    result = itemAtt.Value;
                    break;
                }
            }

            return(result);
        }
        private List <List <StringUri> > getProtoTable(_Tag inpTag)
        {
            if (inpTag.Name != "table")
            {
                return(null);
            }

            List <List <StringUri> > myProtoTable = new List <List <StringUri> >();

            foreach (_Tag rowTag in inpTag.InnerTags)
            {
                myProtoTable.Add(getOneRow(rowTag));
            }

            return(myProtoTable);
        }
        public DataTable getTable(_Tag inpTag)
        {
            if (inpTag.Name != "table")
            {
                return(null);
            }

            DataTable result = new DataTable();



            foreach (_Tag rowTag in inpTag.InnerTags)
            {
                result.Rows.Add(getOneRow(rowTag).ToArray());
            }

            return(result);
        }
        private StringUri EachRowRec(_Tag inpTag)
        {
            StringUri result = new StringUri {
                ItemString = ""
            };

            if (!inpTag.HasInnerTags)
            {
                result.ItemString = inpTag.Value;
                return(result);
            }

            List <StringUri> outList = new List <StringUri>();

            foreach (_Tag inTag in inpTag.InnerTags)
            {
                if (inTag.HasInnerTags)
                {
                    outList.Add(EachRowRec(inTag));
                }
                //continue;
                outList.Add(new StringUri {
                    ItemString = inTag.Value, ItemUri = GetUriFromHref(inTag)
                });
            }

            foreach (StringUri item in outList)
            {
                if (item.ItemString == "")
                {
                    continue;
                }
                result.ItemString += (item.ItemString);
                result.ItemUri    += (item.ItemUri);
            }

            return(result);
        }
        private DataColumn getOneCol(_Tag inpTag)
        {
            DataColumn result = new DataColumn();

            return(result);
        }
 public List <List <StringUri> > getOutTable(_Tag inpTag)
 {
     return(NormalizeProtoTable(getProtoTable(inpTag)));
 }