XmlReader - Necesito editar un elemento y producir uno nuevo

Estoy anulando un método que tiene un XmlReader que se pasa, necesito encontrar un elemento específico, agregar un atributo y luego crear un nuevo XmlReader o simplemente reemplazar el existente con el contenido modificado. Estoy usando C # 4.0

He investigado usando XElement (Linq) pero parece que no puedo manipular un elemento existente y agregar un atributo y un valor.

Sé que XmlWriter tiene WriteAttributeString, lo que sería fantástico, pero una vez más no estoy seguro de cómo encaja todo

Me gustaría poder hacer algo como --- ¡Esto es pseudo-código!

public XmlReader DoSomethingWonderful(XmlReader reader)
{
   Element element = reader.GetElement("Test");
   element.SetAttribute("TestAttribute","This is a test");
   reader.UpdateElement(element);
   return reader;
}

Respuestas a la pregunta(5)

Su respuesta a la pregunta