Вам нужно сохранить разделение абзацев, или вам просто нужен текст?Если абзацы не имеют значения, я загружаю этот фрагмент XML в объект XmlDocument, объединяю тексты в одну строку, а затем просто использую обычные манипуляции со строками для извлечения.
var snippet = //your text here.
var rawXml = "<text>" + snippet + "</text>"; // Wrap to make valid XML.
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(rawXml);
var mergedText = xmlDoc.InnerText;
int start = mergedText.IndexOf(startMarker);
int end = mergedText.IndexOf(endMarker) - start;
mergedText.Substring(start, end);