XElement i lista <T>

Mam klasę, która ma następujące właściwości:

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

Następnie mam listę autorów w następujący sposób:

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

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

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

Teraz próbuję użyć Linq do XML w celu wygenerowania XML reprezentującego moją listę autorów.

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

Powyższy blok nie generuje XML, jak tego oczekuję. Otrzymuję:

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

Chcę, aby wygląd XML wyglądał tak:

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

Jakakolwiek pomoc dotycząca tego, jak sprawić, by XML wyglądał tak, jak tego potrzebuję, byłaby bardzo mile widziana!

questionAnswers(2)

yourAnswerToTheQuestion