Если вы просто пытаетесь извлечь простой текст из простого XML, лучшим (самым быстрым и наименьшим объемом памяти) будет просто запустить цикл for для данных:
PSEUDOCODE НИЖЕ
bool inMarkup = false;
string text = "";
for each character in data // (dunno what you're reading from)
{
char c = current;
if( c == '<' ) inMarkup = true;
else if( c == '>') inMarkup = false;
else if( !inMarkup ) text += c;
}
Примечание: это сломается, если вы столкнетесь с такими вещами, как CDATA, JavaScript или CSS при разборе.
Итак, чтобы подвести итог ... если этопросто, сделайте что-то, как указано выше, а не регулярное выражение.Если это не так просто, послушайте других парней с помощью расширенного парсера.