Создайте XmlReader
вокруг StringReader с XML и прочитайте читателя:
using (var reader = XmlReader.Create(something))
while(reader.Read())
;
Если вы не получите никаких исключений, XML будет правильно сформирован.
В отличие от XDocument или XmlDocument, он не будет хранить в памяти все дерево DOM, поэтому он будет работать быстро даже с очень большими файлами XML.