C# Code Snippet: Finding a Node in an XML String
XML to be operated on:
1: <States>
2: <State name="Wisconsin">
3: <Regions>
4: <Region name="Milwaukee">
5: <Area name="Mukwanago"/>
6: <Area name="Germantown"/>
7: </Region>
8: <Region name="Fox Valley">
9: <Area name="Oshkosh" />
10: <Area name="Appleton" />
11: </Region>
12: </Regions>
13: </State>
14: </States>
C# code:
1: // using System.Xml.Linq
2:
3: // make sure the xml file exists
4: XElement states = XElement.Load("testXML.xml");
5:
6: // Using LINQ
7: XElement foundNode;
8: var query = from XElement r in states.Descendants("Region")
9: where r.Attribute("name").Value == "Milwaukee"
10: select r;
11: foundNode = query.FirstOrDefault();
12:
13: // Using Lambda expressions
14: foundNode = states.Descendants("Region").
15: Where(r => r.Attribute("name").Value ==
16: "Milwaukee").FirstOrDefault();
