OOXML 更新 .docx 文档中的内容控件 headers

OOXML update Content Controls in .docx document headers

我正在打开一个 .docx 文件,使用以下代码遍历所有内容控件并将那里的文本设置为 "the foo bar text"。这对于文档 body 中的内容控件非常有用。 问题是它从不更新 header 和页脚中的内容控件。 有什么我想念的吗?

        using (WordprocessingDocument doc = WordprocessingDocument.Open(resultDocumentPath, true))
        {
            MainDocumentPart mainPart = doc.MainDocumentPart;
            foreach (SdtElement sdt in mainPart.Document.Descendants<SdtElement>())
            {
                Run formattedRun = new Run();
                RunProperties runProperties = new RunProperties();
                runProperties.Append(new Text("the foo bar text"));
                formattedRun.Append(runProperties);
                sdt.Append(new Paragraph(new Run(formattedRun)));

            }
        }

页眉和页脚与主文档正文分开存储。

在原始 OpenXML 标记中,相应的文件是 "header#.xml" 和 "footer#.xml"。

在 OpenXML SDK 中,您需要遍历 MainDocumentPart.HeaderPartsMainDocumentPart.FooterParts