Как извлечь главу и параграф на основе содержимого из файла Word с использованием open xml и c # 4.0?

#c# #ms-word #openxml-sdk

#c# #ms-word #openxml-sdk

Вопрос:

Я использую c # и open xml sdk 2.0 для доступа к файлу Word.

Для этого теперь я хочу получить главу и абзац на основе заданного текста.

Если глава содержит мой текст, извлеките абзац, содержащий этот текст…

 FOR EXAMPLE: Given Word is: Chapter 1 - Events
  

Извлеките главу и параграфы, содержащие слово "Chapter 1 - Events"

Я хочу выполнить поиск по заданному слову в файле Word.

Если найдены какие-либо совпадения, я хочу отобразить эти методы и вставить в базу данных в соответствии с этой схемой

введите описание изображения здесь

Если совпадения не найдены, нет необходимости получать абзац.

Как мне это сделать?

ошибка с кодом (теперь возврат при отладке Visual Studio пуст)

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DocumentFormat.OpenXml;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Wordprocessing;

public partial class Default : Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            string file = @"C:Usersfile.docx";

            using (WordprocessingDocument wordDoc = WordprocessingDocument.Open(file, true))
            {
                Body body = wordDoc.MainDocumentPart.Document.Body;

                string paras = "";

                foreach (Paragraph p in wordDoc.MainDocumentPart.Document.Body.Descendants<Paragraph>().Where<Paragraph>(p => p.InnerText.Contains("Chapter [0-9]{1;} ")))
                {
                    paras  = p.InnerText   "<br/>";
                }

                Response.Write(paras);
            }
        }
    }
}
  

file.docx

 Chapter 1 - Events
 - alert or disservices
Lorem ipsum dolor sit amet, consectetur adipiscing elit
….
….
- significant activities
Phasellus dui nunc, rutrum vitae dictum eleifend, ullamcorper hendrerit sem
….
….

Chapter 2 – Safety
- near miss
Praesent venenatis convallis nunc, quis ultrices massa
….
….
- security checks
Phasellus mollis dapibus porta. Phasellus ac tristique dui
….
….

Chapter 3 – Training
- environment
Nunc hendrerit scelerisque mauris vel eleifend
….
….
- upkeep
Mauris id elit nec nisl laoreet posuere. Donec ac molestie sem
….
….
  

таблица базы данных

 DROP TABLE IF EXISTS `chapters`;
CREATE TABLE `chapters` (
  `chapter` longtext CHARACTER SET utf8 COLLATE utf8_general_ci,
  `subheading` longtext CHARACTER SET utf8 COLLATE utf8_general_ci,
  `contents` longtext CHARACTER SET utf8 COLLATE utf8_general_ci,
  `sID` int(11) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`sID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;