如何使用open xml sdk获取word文档的所有合并字段

时间:2014-11-03 10:04:23

标签: c# openxml openxml-sdk

我是初学者,打开xml sdk。我试图找出文档的所有合并字段。

但我没有得到页眉和页脚合并字段。

任何人都可以建议一个有效的解决方案吗?

我正在尝试这样的事情 -

foreach (FieldCode field in docGenerated.MainDocumentPart.RootElement.Descendants<FieldCode>())
                    {

                        String fieldText = field.Text;
                        if (fieldText.StartsWith(" MERGEFIELD"))
                        {
                            Int32 endMerge = fieldText.IndexOf("\\");

                            Int32 fieldNameLength = fieldText.Length - endMerge;

                            String fieldName = fieldText.Substring(11, endMerge - 11);

                            fieldName = fieldName.Trim();
                         }
}

1 个答案:

答案 0 :(得分:3)

您必须分别遍历页眉和页脚,请参阅以下代码:

foreach (var header in doc.MainDocumentPart.HeaderParts)
            foreach (var cc in header.RootElement.Descendants<FieldCode>())
                //DO CODE
foreach (var footer in doc.MainDocumentPart.FooterParts)
           foreach (var cc in footer.RootElement.Descendants<FieldCode>())
                //DO CODE