我是初学者,打开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();
}
}
答案 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