[XLinq][C#3] clause where dans un select
Bonjour,
je suis en train de regarder l'utiliter de Linq pour me créer un petit outil de gestion de fichiers XML et de recherche dans le-dit fichier.
Pour ce faire, j'utilise le tutorial à cette adresse :
http://morpheus.developpez.com/linq/
Partant du fichier XML suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
<?xml version="1.0" encoding="utf-8" ?>
<contacts>
- <contact>
<name>Patrick Hines</name>
<phone type="home">206-555-0144</phone>
<phone type="work">425-555-0145</phone>
- <address>
<street1>123 Main St</street1>
<city>Mercer Island</city>
<state>WA</state>
<postal>68042</postal>
</address>
<netWorth>10</netWorth>
</contact>
- <contact>
<name>Morgan Bourgeois</name>
<phone type="home">0677120200</phone>
<phone type="work">425-555-0145</phone>
- <address>
<street1>123 Main St</street1>
<city>Mercer Island</city>
<state>WA</state>
<postal>68042</postal>
</address>
<netWorth>10</netWorth>
</contact>
</contacts> |
Soit le code suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| XElement contacts = XElement.Load(@"C:\XML\Contact.xml");
var result2 = from c in contacts.Elements("contact")
//where c.Element("Name").Value == "Patrick Hines"
//where c.Name == "Patrick Hines"
select c.Element("name");
foreach(XElement name in result2)
{
Console.WriteLine(name.Value);
}
Console.WriteLine("Juste pour le debugg");
Console.ReadLine(); |
Qui m'affiche
Citation:
Patrick Hines
Morgan Bourgeois
j'aimerais pourvoir faire un where sur le nom (par exemple), j'ai essayé :
Code:
1 2 3 4
| var result2 = from c in contacts.Elements("contact")
where c.Element("Name").Value == "Patrick Hines"
//where c.Name == "Patrick Hines"
select c.Element("name"); |
Code:
1 2 3 4
| var result2 = from c in contacts.Elements("contact")
where c.Element("Name") == "Patrick Hines"
//where c.Name == "Patrick Hines"
select c.Element("name"); |
Code:
1 2 3 4
| var result2 = from c in contacts.Elements("contact")
//where c.Element("Name") == "Patrick Hines"
where c.Name == "Patrick Hines"
select c.Element("name"); |
Code:
1 2 3 4
| var result2 = from c in contacts.Elements
//where c.Element("Name") == "Patrick Hines"
where c.Name == "Patrick Hines"
select c.Element("name"); |
Mais rien n'y fait, je ne trouve pas comment faire les select dans ce xml, quelqu'un saurait me débloquer?
Merci beaucoup