DocumentUpdateListLabels Method

Updates list labels for all list items in the document.

Namespace:  Aspose.Words
Assembly:  Aspose.Words (in Aspose.Words.dll) Version: 20.3
Syntax
public void UpdateListLabels()
Remarks

This method updates list label properties such as LabelValue and LabelString for each ListLabel object in the document.

Also, this method is sometimes implicitly called when updating fields in the document. This is required because some fields that may reference list numbers (such as TOC or REF) need them be up-to-date.

Examples
Shows how to extract the label of each paragraph in a list as a value or a String.
Document doc = new Document(MyDir + "Rendering.docx");
doc.UpdateListLabels();
int listParaCount = 1;

foreach (Paragraph paragraph in doc.GetChildNodes(NodeType.Paragraph, true).OfType<Paragraph>())
{
    // Find if we have the paragraph list. In our document our list uses plain arabic numbers,
    // which start at three and ends at six
    if (paragraph.ListFormat.IsListItem)
    {
        Console.WriteLine("Paragraph #{0}", listParaCount);

        // This is the text we get when actually getting when we output this node to text format
        // The list labels are not included in this text output. Trim any paragraph formatting characters
        string paragraphText = paragraph.ToString(SaveFormat.Text).Trim();
        Console.WriteLine("Exported Text: " + paragraphText);

        ListLabel label = paragraph.ListLabel;
        // This gets the position of the paragraph in current level of the list. If we have a list with multiple level then this
        // will tell us what position it is on that particular level
        Console.WriteLine("Numerical Id: " + label.LabelValue);

        // Combine them together to include the list label with the text in the output
        Console.WriteLine("List label combined with text: " + label.LabelString + " " + paragraphText);

        listParaCount++;
    }
}
See Also