XmlReader - muszę edytować element i stworzyć nowy

Nadpisuję metodę, która ma przekazany XmlReader, muszę znaleźć konkretny element, dodać atrybut, a następnie albo utworzyć nowy XmlReader, albo po prostu zastąpić istniejący XmlReader zmodyfikowaną treścią. Używam C # 4.0

Zbadałem przy użyciu XElement (Linq), ale nie mogę manipulować istniejącym elementem i dodawać atrybutu i wartości.

Wiem, że XmlWriter ma WriteAttributeString, co byłoby fantastyczne, ale znowu nie jestem pewien, jak to wszystko pasuje do siebie

Chciałbym móc zrobić coś takiego --- To jest pseudo-kod!

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

questionAnswers(5)

yourAnswerToTheQuestion