public void GetListLabels()
{
//ExStart
//ExFor:Document.UpdateListLabels()
//ExFor:Node.ToString(SaveFormat)
//ExFor:ListLabel
//ExFor:Paragraph.ListLabel
//ExFor:ListLabel.LabelValue
//ExFor:ListLabel.LabelString
//ExSummary:Shows how to extract the label of each paragraph in a list as a value or a string.
Document doc = new Document(MyDir + "Lists.PrintOutAllLists.doc");
doc.UpdateListLabels();
int listParaCount = 1;
foreach (Paragraph paragraph in doc.GetChildNodes(NodeType.Paragraph, true))
{
// 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++;
}
}
//ExEnd
}