Comment puis-je désérialiser ce XML à l'aide de LINQ?
Je souhaite créer list <étape> code>
3 Réponses :
string xml = @"<MySteps>
<Step>
<ID>1</ID>
<Name>Step 1</Name>
<Description>Step 1 Description</Description>
</Step>
<Step>
<ID>2</ID>
<Name>Step 2</Name>
<Description>Step 2 Description</Description>
</Step>
<Step>
<ID>3</ID>
<Name>Step 3</Name>
<Description>Step 3 Description</Description>
</Step>
<Step>
<ID>4</ID>
<Name>Step 4</Name>
<Description>Step 4 Description</Description>
</Step>
</MySteps>";
XDocument doc = XDocument.Parse(xml);
var mySteps = (from s in doc.Descendants("Step")
select new
{
Id = int.Parse(s.Element("ID").Value),
Name = s.Element("Name").Value,
Description = s.Element("Description").Value
}).ToList();
Heres how you would do it using LINQ. Obviously you should be doing your own error checking.
Je fais quelque chose de similaire, mais ce code ne renvoie que le premier élément ... pas une liste?
LINQ-TO-XML est votre réponse.
List<Step> steps = (from step in xml.Elements("Step")
select new Step()
{
Id = (int)step.Element("Id"),
Name = (string)step.Element("Name"),
Description = (string)step.Element("Description")
}).ToList();
Affichage des réponses ci-dessus dans la syntaxe de méthode Linq
Descendants: P> éléments: p>
Une liste de quoi? Avez-vous défini votre propre cours de liste? Qu'avez-vous essayé jusqu'à présent?
Toute raison de l'utilisation non seulement en utilisant
system.xml.serialization.xmlSerializer code>?J'essaie d'utiliser le LINQ vers XML sans succès