C# 如何使用OpenXMLSDK获取word文档的所有合并字段
我是xml sdk的初学者。我正在尝试查找文档的所有合并字段 但是我没有得到页眉和页脚合并字段 有人能提出一个有效的解决方案吗 我正在尝试这样的事情-C# 如何使用OpenXMLSDK获取word文档的所有合并字段,c#,openxml,openxml-sdk,C#,Openxml,Openxml Sdk,我是xml sdk的初学者。我正在尝试查找文档的所有合并字段 但是我没有得到页眉和页脚合并字段 有人能提出一个有效的解决方案吗 我正在尝试这样的事情- foreach (FieldCode field in docGenerated.MainDocumentPart.RootElement.Descendants<FieldCode>()) { String fieldText = field.
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();
}
}
foreach(docGenerated.MainDocumentPart.RootElement.subjections()中的FieldCode字段)
{
字符串fieldText=field.Text;
if(fieldText.StartsWith(“MERGEFIELD”))
{
Int32 endMerge=fieldText.IndexOf(“\\”);
Int32 fieldNameLength=fieldText.Length-endMerge;
字符串fieldName=fieldText.Substring(11,endMerge-11);
fieldName=fieldName.Trim();
}
}
您必须分别在页眉和页脚之间循环,请参见以下代码:
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
foreach(doc.MainDocumentPart.HeaderParts中的变量标题)
foreach(header.RootElement.subjects()中的var cc)
//执行代码
foreach(doc.MainDocumentPart.FooterParts中的变量页脚)
foreach(footer.RootElement.subjects()中的var cc)
//执行代码
word文档中的合并字段是什么?合并字段是Microsoft word等中用于创建合并或邮件合并文档的字段类型。这似乎不会捕获表中的字段。