Не проверено, но как насчет через XmlDocument
:
XmlDocument doc = new XmlDocument();
doc.Load(reader);
XmlElement el = doc.DocumentElement;
В качестве альтернативы (из комментария), что-то вроде:
doc.LoadXml(reader.ReadOuterXml());
Но на самом деле я не фанат этого ... это вызывает дополнительный шаг xml-parse (одна из более дорогостоящих операций) без веской причины. Если оригинал сбой, то, возможно, рассмотрите под-читателя:
using (XmlReader subReader = reader.ReadSubtree())
{
XmlDocument doc = new XmlDocument();
doc.Load(subReader);
XmlElement el = doc.DocumentElement;
}