XElement und Liste <T>

Ich habe eine Klasse mit folgenden Eigenschaften:

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

Als nächstes habe ich eine Liste von Autoren wie folgt:

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

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

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

Jetzt versuche ich, Linq to XML zu verwenden, um das XML zu generieren, das meine Autorenliste darstellt.

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

Der obige Block generiert das XML nicht wie erwartet. Was ich bekomme ist:

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

Ich möchte, dass die XML-Ausgabe wie folgt aussieht:

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

Jede Hilfe, um das XML so aussehen zu lassen, wie ich es brauche, wäre immens dankbar!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage