XElement e lista <T>

Eu tenho uma classe que tem as seguintes propriedades:

public class Author {
  public string FirstName { get; set; }
  public string LastName { get; set; }
}

Em seguida, tenho uma lista de autores assim:

List<Author> authors = new List<Author> ();

authors.add(
  new Author { 
    FirstName = "Steven",
    LastName = "King"
  });

authors.add(
  new Author { 
    FirstName = "Homer",
    LastName = ""
  });

Agora, estou tentando usar o Linq para XML para gerar o XML representando minha lista de autores.

new XElement("Authors",
  new XElement("Author", 
    from na in this.Authors
    select new XElement("First", na.First)))

O bloco acima não gera o XML como eu esperava. O que eu recebo é:

<Authors>
  <Author>
    <First>Steven</First>
    <First>Homer</First>
  </Author>
<Authors>

O que eu quero que a saída XML seja semelhante é:

<Authors>
  <Author>
    <First>Steven</First>
    <Last>King</Last>
  </Author>
  <Author>
    <First>Homer</First>
    <Last></Last>
  </Author>
</Authors>

Qualquer ajuda sobre como obter o XML para a aparência que eu preciso seria imensamente apreciada!

questionAnswers(2)

yourAnswerToTheQuestion