Как с помощью OpenXML распарсить doc/docx файл?

У меня появилась задача распарсить doc файл и сохранить его в следующую структуру соблюдая вложенность списков(списки скорее всего лучше сохранять как и картинки)

Я набросал word файл введите сюда описание изображения

Структура будет выглядит вот так

public class Document
{
    public string FileName { get; set; }

    public string Author { get; set; }

    public string Titles { get; set; }

    public string Text { get; set; }

    public IEnumerable<string> Images { get; } = new List<string>();
}

Пока я добился того, что просто достаю весь текст из документа

    private string GetPlainText(OpenXmlElement element)
    {
        StringBuilder text = new();
        foreach (OpenXmlElement section in element.Elements())
        {
            switch (section.LocalName)
            {
                // Text 
                case "t":
                    text.Append(section.InnerText);
                    break;
                case "cr":                         
                case "br": 
                    text.Append(Environment.NewLine);
                    break;
                // Tab 
                case "tab":
                    text.Append("\t");
                    break;
                // Paragraph 
                case "p":
                    text.Append(GetPlainText(section));
                    text.AppendLine(Environment.NewLine);
                    break;
                default:
                    text.Append(GetPlainText(section));
                    break;
            }
        }
        return text.ToString();
    }

Ответы (0 шт):