Voici les grandes lignes XML:Quering XElements pour les enfants avec les enfants attributs
<Root>
<Thing att="11">
<Child lang="e">
<record></record>
<record></record>
<record></record>
</Child >
<Child lang="f">
<record></record>
<record></record>
<record></record>
</Child >
</Thing>
</Root>
Je donne les résultats suivants:
TextReader reader = new StreamReader(Assembly.GetExecutingAssembly()
.GetManifestResourceStream(FileName));
var data = XElement.Load(reader);
foreach (XElement single in Data.Elements())
{
// english records
var EnglishSet = (from e in single.Elements("Child")
where e.Attribute("lang").Equals("e")
select e.Value).FirstOrDefault();
}
Mais Je reviens rien. Je veux être capable de Pour chaque "Chose" sélectionnez le "Enfant" où l'attribut "lang" est égal à une valeur. J'ai également essayé ceci, qui n'a pas fonctionné.
var FrenchSet = single.Elements("Child")
.Where(y => y.Attribute("lang").Equals("f"))
.Select(x => x.Value).FirstOrDefault();
+1 pour plus rapide que moi de 2 minutes, mais vous n'avez pas mentionné le deuxième point que j'ai (et Stephan aussi). –
Merci. Je savais que c'était quelque chose de petit. Est toujours. Quel format est le meilleur à utiliser: Basé sur une méthode ou basé sur une requête? – Arnej65
@ Arnej65 La requête est traduite en méthodes par le compilateur, donc utilisez la méthode over-over la plus facile à lire. – Stephan