Je peux utiliser XDocument pour construire le fichier suivant qui fonctionne très bien:Comment construire un XDocument avec foreach et LINQ?
XDocument xdoc = new XDocument
(
new XDeclaration("1.0", "utf-8", null),
new XElement(_pluralCamelNotation,
new XElement(_singularCamelNotation,
new XElement("id", "1"),
new XElement("whenCreated", "2008-12-31")
),
new XElement(_singularCamelNotation,
new XElement("id", "2"),
new XElement("whenCreated", "2008-12-31")
)
)
);
Cependant, je dois construire le fichier XML par itérer une collection comme ceci:
XDocument xdoc = new XDocument
(
new XDeclaration("1.0", "utf-8", null));
foreach (DataType dataType in _dataTypes)
{
XElement xelement = new XElement(_pluralCamelNotation,
new XElement(_singularCamelNotation,
new XElement("id", "1"),
new XElement("whenCreated", "2008-12-31")
));
xdoc.AddInterally(xelement); //PSEUDO-CODE
}
Il y a Ajouter, AddFirst, AddAfter Self, AddBeforeSelf, mais je n'ai pu obtenir aucun d'eux pour fonctionner dans ce contexte.
Une itération avec LINQ est-elle possible?
Réponse:
Je pris la suggestion de code de Jimmy avec la balise racine, a changé un peu et il était exactement ce que je cherchais:
var xdoc = new XDocument(
new XDeclaration("1.0", "utf-8", null),
new XElement(_pluralCamelNotation,
_dataTypes.Select(datatype => new XElement(_singularCamelNotation,
new XElement("id", "1"),
new XElement("whenCreated", "2008-12-31")
))
)
);
Marc Gravell a affiché une meilleure réponse à ce on this StackOverflow question.
très lisse, merci! –