Delete sections with remaining mergefields

I am new to Aspose and I am trying to delete the sections that are containing any remaining mergefields.
I am struggling with this for a while now.
Any help is really appreciated.
I am stuck at:

Aspose.Words.Document document = new Document(this._DocumentStream);
DocumentBuilder builder = new DocumentBuilder(document);
// a list with the remaining merge fields
List <string> emptyFields = document.MailMerge.GetFieldNames().ToList <string> ();
while (emptyFields.Count != 0)
{
    string mergeField = emptyFields[0];
    mergeField = emptyFields[0];
    builder.MoveToMergeField(mergeField);
    Section section = builder.CurrentSection;
    if (section.ParentNode != null)
    {
        document.Sections.Remove(section);
    }
}
document.Save(this._DocumentStream, this._DocumentFormat);

Thanks in advance.

Hello

Thanks for your inquiry. Please try using the following code:

Document document = new Document("in.doc");
DocumentBuilder builder = new DocumentBuilder(document);
// Get all filds names
string[] fldNames = document.MailMerge.GetFieldNames();
foreach(string fieldName in fldNames)
{
    builder.MoveToMergeField(fieldName);
    // Get current section
    Section section = builder.CurrentSection;
    if (section.ParentNode != null)
    {
        document.Sections.Remove(section);
    }
}
document.Save("out.doc");

Best regards,

Thanks for the fast reply.
Too bad it didn’t solve my problem. (The output stays the same as with my code)
But I figured out what is going wrong:
It is always deleting headers and footers.
(Even if there are no remaining mergefields in these sections.)
On the other hand it is also doing what I want it to do by deleting the sections with remaining mergefields.
Is there a way that my headers and footers will not be deleted?
Thanks in advance!

Hello

Thanks for your inquiry. Could you please attach your input document here for testing? I will check the problem on my side and provide you more information.

Best regards,

I found the solution to this problem!
Here is the code:

// Get all filds names
string[] fldNames = document.MailMerge.GetFieldNames();
foreach(string fieldName in fldNames)
{
    builder.MoveToMergeField(fieldName);
    if (builder.CurrentSection != null)
    {
        Body body = builder.CurrentSection.Body;
        if (body != null && body.ParentNode != null)
        {
            if (builder.CurrentSection.HeadersFooters.Count> 0)
            {
                body.Remove();
            }
            else if (body.ParentSection.ParentNode != null)
            {
                body.ParentSection.Remove();
            }
        }
    }
}

Thanks anyway!

Hello

It is perfect, that you already resolved the problem.
Best regards,