Strabo.Core.OCR.DocxToText.ReadNode C# (CSharp) Method

ReadNode() private method

Reads content of the node and its nested childs.
private ReadNode ( XmlNode node ) : string
node System.Xml.XmlNode XmlNode.
return string
        private string ReadNode(XmlNode node)
        {
            if (node == null || node.NodeType != XmlNodeType.Element)
                return string.Empty;

            StringBuilder sb = new StringBuilder();
            foreach (XmlNode child in node.ChildNodes)
            {
                if (child.NodeType != XmlNodeType.Element) continue;

                switch (child.LocalName)
                {
                    case "t":                           // Text
                        sb.Append(child.InnerText.TrimEnd());

                        if (susp_char_flag) susp_char_count += child.InnerText.TrimEnd().Length;
                        susp_char_flag = false;
                        //string space = ((XmlElement)child).GetAttribute("xml:space");
                        //if (!string.IsNullOrEmpty(space) && space == "preserve")
                        //    sb.Append(' ');
                        Console.WriteLine(child.InnerText);
                        Console.WriteLine(child.InnerText.Length);
                        break;

                    case "cr":                          // Carriage return
                    case "br":                          // Page break
                        //sb.Append(Environment.NewLine);
                        break;

                    case "tab":                         // Tab
                        //sb.Append("\t");
                        break;

                    case "p":                           // Paragraph
                        sb.Append(ReadNode(child));
                        //sb.Append(Environment.NewLine);
                        //sb.Append(Environment.NewLine);
                        break;
                    case "shd":
                        susp_char_flag = true;
                        sb.Append(ReadNode(child));
                        break;
                    default:
                        sb.Append(ReadNode(child));
                        break;
                }
            }
            return sb.ToString();
        }