Como posso atualizar / substituir um elemento de um XElement de uma strin

Então, aqui está o meu caso.

Eu tenho um XElement, vamos chamá-lo de raiz, que tem descendentes, que têm descendentes, etc. Eu puxo um descendente usando LINQ para XML, carrego-o em um editor de notas usando.ToString() e edite-o. Agora, quero atualizar / substituir o elemento descendente original pela versão editada.

Deixe-me mencionar que este é um arquivo XML simples, sem esquema, sem usar o DOM, etc. Só preciso editar, atualizar / substituir um element

Aqui está uma maquete do meu XML:

<Root>
  <Genre Name="Rock">
    <Artist Name="Pink Floyd">
      <BandMembers>
        <Member>Nick Mason</Member>
        <Member>Syd Barret</Member>
        <Member>David Gilmour</Member>
        <Member>Roger Water</Member>
        <Member>Richard Wright</Member>
      </BandMembers>
      <Category>Favorite band of all time</Category>
    </Artist>
    <Artist Name="Led Zepelin">
      <Category>Love the band</Category>
    </Artist>
  </Genre>
  <Genre Name="Blues">
    <Artist Name="Muddy Waters">
      <Instrument>Harmonica</Instrument>
    </Artist>
    <Artist Name="Howling Wolf">
      <Instrument>Guitar</Instrument>
    </Artist>
  </Genre>
</Root>

Agora, digo que quero editar o elemento "Pink Floyd" para corrigir o sobrenome de Roger Waters. Pego esse elemento, converto-o em uma string, carrego-o no meu editor, faço as alterações desejadas e o converto novamente em um XElement usando.Parse().

gora, como posso atualizar / substituir o nó "Pink Floyd" no meu XML origina

questionAnswers(1)

yourAnswerToTheQuestion