Je suis en train d'interroger un fichier XML avec une requête linqyc linq. Je l'ai suivi le blog de ScottGuC# XML Dynamic LINQ
Mais j'ai un problème pour faire la clause where. C'est le scénario.
<Rates>
<Rate id="1" tax="20.5" sex="M" name="Jhon">
<Rate id="2" tax="2.5" sex="F" name="Aline">
</Rate>
L'idée est d'interroger le XML à l'aide d'un filtre avec le sexe et le nom.
XDocument doc = XDocument.Load(new StringReader(xml));
var query = doc.Elements("Rates").Attributes().AsQueryable().Where("sex='M' and and name='Jhon'");
-je utiliser cette méthode, car la méthode SelectSingleNode() J'ai un problème si le paramètre dans la clause WHERE ne sont pas ordonnés et parce que la requête est dynamique.
Mais j'ai cette erreur:
No property or field 'sex' exists in type 'XAttribute'
Je ne sais pas est la syntaxe sont correctes, et si est la bonne façon de faire une requête dynamique. Je n'ai pas trouvé d'exemple dans internet avec une requête xml.
Merci pour toute réponse! D.
Désolé, j'ai mal lu votre question. C'est une requête Linq basique et non dynamique. Comme je n'ai aucune expérience avec la bibliothèque Dynamic Linq, je ne peux même pas vraiment mettre à jour ma réponse du tout – Adkins
Thx! Mais les xml ne sont pas égaux. La seule chose égale est la racine du document "Rates" mais le contenu (pour le contenu que je veux dire les attributs xml) change pour chaque xml. Les attributs peuvent être plus ou moins, et le changement de nom. Pour cela je dois pouvoir utiliser une requête dynamique non codée dans le fichier. – hanc