#c# #openxml #paragraph
Вопрос:
Я пишу утилиту, которая считывает файл шаблона .docx с помощью OpenXML на C#. Утилита перечисляет весь абзац по его заголовку и в зависимости от заголовка абзаца (настраивается с помощью файла ini) У меня есть возможность отредактировать абзац или полностью удалить его. У меня все работает с удалением абзаца, но я изо всех сил пытаюсь заменить весь текст абзаца новым. Я знаю о приведенном ниже коде, но это не делает того, что я хочу, потому что абзац состоит из многих элементов, и я изо всех сил пытаюсь понять, как я могу заменить текст абзаца. Текст абзаца действительно полностью содержится в абзаце.Внутренний текст, но его нельзя редактировать. Есть ли обходной путь? Заранее спасибо.
foreach (Paragraph paragraph in paragraphs)
{
foreach (Run run in paragraph.Elements<Run>())
{
foreach (Text text in run.Elements<Text>())
{
Console.WriteLine (text.Text);
}
}
}
Ответ №1:
С небольшой помощью из другого поста я решил свою проблему. В конце концов, это было довольно просто, мне просто нужно было добавить следующее.
paragraph.RemoveAllChildren<Run>();
paragraph.AppendChild<Run>(new Run(new Text("New Paragraph Text")));