Ich habe eine Klasse, die die folgenden Eigenschaften hat:XElement und Liste <T>
public class Author {
public string FirstName { get; set; }
public string LastName { get; set; }
}
Als nächstes habe ich eine Liste der Autoren wie so:
List<Author> authors = new List<Author>();
authors.add(
new Author {
FirstName = "Steven",
LastName = "King"
});
authors.add(
new Author {
FirstName = "Homer",
LastName = ""
});
Nun, ich versuche, Linq zu verwenden zu XML, 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 erzeugt nicht das XML, wie ich es erwarte. Was ich erhalte, ist:
<Authors>
<Author>
<First>Steven</First>
<First>Homer</First>
</Author>
<Authors>
Was ich die XML-Ausgabe aussehen soll ist:
<Authors>
<Author>
<First>Steven</First>
<Last>King</Last>
</Author>
<Author>
<First>Homer</First>
<Last></Last>
</Author>
</Authors>
Jede Hilfe, wie die XML zu bekommen aussehen wie ich es brauche immens geschätzt werden würde!
ein * ganz eigenes Projekt Mit * nur für ein wenig von XML-Magie ist übertrieben, am besten. Wenn es nicht eine enorme Menge an XML-Transformationen gibt, die (und von einer komplexeren Art) durchgeführt werden müssen, fügt das Hinzufügen einer anderen Assembly (es sei denn, Sie möchten Module kompilieren und dann zusammenfassen, was ein anderes PITA ist) einfach zu viel Overhead hinzu in einer Reihe von Bereichen. – casperOne
Natürlich, wenn das das einzige bisschen wäre, wäre das übertrieben. Für einen C# -Entwickler ist es jedoch immer noch wichtig zu wissen, dass dies in .NET vorhanden ist. Und ich habe noch nie an einem System gearbeitet, auf dem es nicht mehrere kleine Projekte gab. Daher ist es sinnvoll, eine XML-Magie hinzuzufügen. – CoderDennis