Выбор заголовка и абзаца под ним в файле .DOCX C# - PullRequest
0 голосов
/ 04 августа 2020

Я пытаюсь извлечь заголовок и абзац под ним из файла docx и сохранить в базе MySQL. Я использую aspose.words Вот мой текущий код, который я использую, но есть одна проблема, если в заголовке отсутствует "." (точка) он разбивается на 3 предложения и портит всю задачу. Какой лучший подход я могу использовать для этого?

            Document doc = new Document(filepath);
            foreach (Run run in doc.GetChildNodes(NodeType.Run, true))
            {
                if (run.Font.Color == Color.FromArgb(255, 0, 0) && !run.Text.Contains("Aspose.Words"))
                {
                    title = run.Text;
                    Node k = doc.GetChild(NodeType.Run, i + 1, true);
                    para = k.GetText();
                    Console.WriteLine(title); // for debugging
                    
                    string query = string.Format("INSERT INTO writing(title, para, day) VALUES(\"{0}\", \"{1}\", {2})", title, para, day);
                        
                    var cmd = new MySqlCommand(query, dbCon.Connection);
                    cmd.ExecuteNonQuery();
                        
                }
                i++;
            }
            
          

Я пытаюсь получить КРАСНЫЕ ЗАГОЛОВКИ в строке заголовка и ПАРАГРАФ под ним в строке параграфа. Это результат строки заголовка без точки (точки) в конце заголовка

Essay writing  
Essay writing  
Write precis of each passage 
in  5 to 75
words within 10 minutes 
Write precis of each passage 
in  5 to 75 words
within 10 minutes

Это результат, если я поставлю точку (точку) в конце красного заголовка.

Essay writing  
Essay writing  
Write precis of each passage in 5 to 75 words within 10 minutes. 
Write precis of each passage in 5 to 75 words within 10 minutes.

Вот макет моего файла .docx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...