private static void StripOutText(XmlNode element)
{
var listToRemove = new List<XmlNode>();
foreach (XmlNode node in element.SelectNodes("descendant-or-self::*[(self::p or self::br or self::u or self::b or self::i) and not(contains(@class,'bloom-cloneToOtherLanguages'))]"))
{
listToRemove.Add(node);
}
// clean up any remaining texts that weren't enclosed
foreach (XmlNode node in element.SelectNodes("descendant-or-self::*[not(contains(@class,'bloom-cloneToOtherLanguages'))]/text()"))
{
listToRemove.Add(node);
}
RemoveXmlChildren(listToRemove);
}