Копировать данные (параграфы, прогон, таблицы и т. Д.) Из начала закладки в конец закладки - PullRequest
0 голосов
/ 23 апреля 2019

Я добавил закладку и добавил несколько таблиц абзацев и т. Д. Между ними. Теперь я хочу создать несколько копий этих абзацев и всего, что находится между закладкой внутри основного документа.

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

foreach (BookmarkStart bookmarkStart in doc.MainDocumentPart.RootElement.Descendants<BookmarkStart>())
{
    BookmarkEnd bmEnd = null;
    switch (bookmarkStart.Name.ToString())
    {
        case "MegaBM":
            {
                bmEnd = doc.MainDocumentPart
                           .RootElement
                           .Descendants<BookmarkEnd>()
                           .Where(b => b.Id == bookmarkStart.Id.ToString())
                           .FirstOrDefault();  
                var list = bookmarkStart
                           .ElementsAfter()
                           .Where(r => r.IsBefore(bmEnd))
                           .ToList();  
                break;  
            }  
}

Список в этом случае пуст

...