public static void Main()
<Text>[MutationEngine:CraSyncMutationEngine]</Text>
<Text>[Stage:'StageLoad']</Text>
<Text>[Stage:'StageMergeWithPi']</Text>
<Text>[Stage:'StageSaveRelationImage']</Text>
<Text>[PreValidate]</Text>
<Text>[Action:'LoadPersistedInput']</Text>
var doc = new XmlDocument();
var nodesHavingInnerText = doc.DocumentElement.SelectNodes("//*[normalize-space(text())]");
foreach (XmlNode node in nodesHavingInnerText)
result += string.Concat(Enumerable.Repeat("-", GetLevel(node))) + node.InnerText + Environment.NewLine;
Console.WriteLine(result);
public static int GetLevel(XmlNode node)
if (node.ParentNode == null) return 0;
return 1 + GetLevel(node.ParentNode);