Обычно плохая идея пытаться анализировать XML с помощью регулярных выражений, поскольку существует бесконечный способ отформатировать XML-документ, который структурно одинаков, и все же будет мешать вашим регулярным выражениям.
Для файлов, которые не являются массивными, обязательно используйте XSL, не забывая указывать «текст» в качестве метода вывода. Не забывайте, что вы можете запускать процесс XSL программно, если это необходимо - большинство языков позволяют вам это делать.
Для больших файлов, затем подумайте о написании небольшой программы, использующей потоковый API (например, SAX или один из API push-parser).