J'ai la structure XML suivante: Je veux itération sur le nom code> nom code> nœuds avec linq.
J'ai essayé ceci: p> mais cela n'a pas fonctionné comme je l'ai besoin. Toute suggestion? P> p>
3 Réponses :
Tout d'abord, assurez-vous que votre XML a un seul nœud racine: Après cela, vous pouvez utiliser le code suivant pour charger le XML: P> string xml = //Get your XML here
XElement xElement = XElement.Parse(xml);
//This now holds the set of all elements named field
var items =
xElement
.Descendants("field")
.Where(n => (string)n.Attribute("name") == "Name");
Ray, tu es mon préféré. Big Ups.
var items = doc.Descendants("field")
.Where(node => (string)node.Attribute("name") == "Name")
.Select(node => node.Value.ToString())
.ToList();
Que fait Doc.Descendants à Linq?
Je pense que Linq à SQL est l'approche la plus directe:
var items = (from c in doc.Descendants("field")
where c.Attribute("name").Value == "Name"
select c.Value
).ToList();
Ceci est "Syntaxe de compréhension de requête", pas Linq-to-SQL :)